Re-watching the TV series Quantum Leap recently made me realize how few straight up heroes there are in TV shows anymore. Modern TV protagonists tend to straddle the line between hero and and villain, if they're not flat out on the far side of it. Scott Bakula's character Sam Beckett, a scientist caught in a time travel experiment gone wrong and now leaping through time and "striving to put right what once went wrong," tread no such line. He didn't lack complexity, it's just that his complexity didn't come from his doubts about himself, his mission or the world. Despite what you hear about how so many writers and actors much prefer to take on villains because they're so much more interesting, heroes don't have to lack complexity.
In the February 2014 issue of Empire, the actor Chris Evans comments on playing the role of Captain America, a straight up hero if ever there was one. When discussing the idea that Captain America doesn't seem to have a standard character arc (he starts out one kind of person and he basically stays that same person), he says, in part "to be a good man is difficult. To be the best man you can be is even harder. Even though he doesn't choose to wear his baggage on his sleeve, I think that's his skill set. He doesn't moan. There is a depth to him." Mixed metaphors notwithstanding, Mr. Evans reiterates the point that it's the struggle and how he or she deals with it that can give a character both heroism and an interesting and engaging depth.