The person who is exactly who they are is what I think of as a hero. Anyone can change to fit a situation, but heroes don't. They are themselves even when they should, by other people's standards, change.
Like Writerling said, they may not be perfect (and I don't think they should be), but they are themselves.
However, heroes are also defined by what they are. Heroes, while staying true to themselves, further others and enhance the world, or at least those around them. They make things "better", and I realize that this is subjective, but I can't come up with a better word.
I realize that this would put some people who we may not consider heroes in that category, but then again a hero isn't ever really loved by everyone. Even the classical heroes, both mythical and real, were never loved by everyone, as they always fought or went against something.
EvilEngineNumberNine said:
A hero is someone who can set aside that which is important and dear to them in order to do what is necessary to preserve a future for humanity in which heroes are only remembered, and not needed. A hero's job is to make himself obsolete.
I like it. Very succinct and, in my opinion, true.