I could end the post with that, but for the sake of being professional, I'll elaborate.
Nobody's perfect. Anybody will admit that. Therefore, realistic characters-especially realistic heroes- need to have flaws.
Before I delve into that, here is something that I find extremely thought-provoking when building a character. Like I said, anybody will admit to not being perfect. But few people who are not Christians will attest to being born inherently bad and sinful. Even some Christians have issues admitting that. More often, people try to blame sin and 'badness' on society, parents, upbringing, etc. But we ARE born inherently bad. That's what makes us human.
Think of it this way. Adam and Eve were the first humans on the planet. They were also the only humans to know what a perfect world looked like. Even though they became sinful, they knew what perfect looked like. Therefore, wouldn't that have made them better parents than later parents that would have been 'tainted' by society? If it is true that Adam and Eve were fairly decent parents, then how come the very first human born on the planet MURDERED his brother because he was jealous??? We are born inherently sinful! It is not the parents fault!
I like thinking of that when I make characters. I like deciding, if the character does not know God or some form of God if in a fantasy world, what is keeping them from plummeting into something as dark as a murderer? Society? Rationality? Conscience?
For instance, with Ember, she doesn't kill or hurt anybody when living in Grel because she has a conscience. She can't bring herself to do it. I think it's also a bit of rationality in it too. Murdering the chief logger would only cause her further harm and she could possibly be killed for it.
Anyway, I just find that interesting to think about. Moving on to the actual post...
I've read books where there have been characters who were so sickly perfect, I quit reading the book. Not kidding. Bryan Davis books are a good example of this. His books ALWAYS have the super perfect, super chivalrous, super courageous male protagonist. They are PERFECT! And it annoys me so much! I enjoy Bryan Davis' creative plots, and he is a fantastic writer in the literal sense of the word, but when it comes to characters, his books tend to lag. Don't even get me started on the cliche damsels in distress that perpetuate his novels....
Not only do the flaws make the hero realistic, they also make him sympathetic. Everybody has something they try to overcome, or should be trying to overcome. The important thing is not to let the flaw remained "unnoticed." The hero, or someone close to the hero like the mentor, should notice the flaw and try to fix it.
For instance, if your hero starts the story as a thief and a liar, he needs to work on fixing those problems throughout the story. I love the movie 'Aladdin,' but I think the writers could have done better in this area. Aladdin fixes his lying problem and that's great, but the only reason he stops thieving is because he marries a rich princess. True, we could give him the benefit of the doubt, but I don't think so because at the beginning of the movie he actually says (well, sings) "I only steal what I can't afford, and that's everything....gotta eat to live, gotta steal to eat, tell you all about it when I've got the time."
So yeah. Lazy writing. Either that, or they don't see an issue with making him constantly steal, which is worse.
The biggest issue I've found with the hero struggling to overcome flaws is actually overcoming them. I mean, eventually your hero will be perfect, right? It's tempting to make the hero perfect after they work so hard to stop killing/lying/stealing/sneaking/eating popcorn dipped in corn syrup. I had this issue when writing 'Hail Frost.' Ember's main issue in 'Ember Flame' was lack of trust in Elethor (God) and identity problems. She overcame both. She now had a strong faith in Elethor, and she no longer struggled to prove herself. Other than her goofy, snippy remarks, she seemed rather perfect.
I had to think for awhile with how to fix this. She seemed real to me in 'Ember Flame,' but when I started 'Hail Frost,' she fell flat. I finally realized something.
Overcoming flaws can sometimes create new flaws. It's sad, but true. Nobody in real life ever reaches 'perfect.' God always brings to light something else that He needs to fix. So why not with characters too?
I started thinking what would be a naturally response to Ember finding her identity. It had to be something that fit with her personality, and it had to be something that she could work on throughout the book. I finally decided on selfishness. Trying to prove yourself is a form of selfishness already, but since she stopped that, her selfishness just changed forms. Now that she has confidence in herself, she got a sort of self-serving selfishness. She abandoned the quest she and the other Leverage had agreed on, and instead, went to go discover something else about herself. She also had to learn to care for her little sister before herself.
All in all, I think it worked out fairly well.
There's a lot more I could say on the subject, but I'll finish with these parting words.
YOUR CHARACTERS MUST HAVE PROBLEMS!!!!