There is nothing more boring than reading about the perfect man. If you never allow your main Hero to be human and make mistakes, grow, change, learn, and apologize for his mistakes, you will end up with a shallow plastic extremely boring humorless character that nobody will want to spend time with.
The perfect Hero is always predictable. You know exactly what this cardboard personality is going to do: only what is Perfectly Right. If he never messes up, you know he will always win every fight and rescue every maiden in distress. He is the Best Swordsman that Ever Lived. And of course he will defeat the Villain... we are all just yawning and trying to stay awake as we force ourselves to read all the way to the inevitable victory rather than giving up halfway through your book.
However, in reality there are no people like this. Nobody knows this Mr. Perfect, and nobody would want to. A creature that is able to keep his own super-high moral standards without ever messing up is a freaky thing that nobody would want to be around. It doesn’t matter if your Hero used to be a scumball and has repented of his wicked ways and turned into Mr. Perfect, the fact that he is Mr. Perfect now makes him a literary leper.
I can think of countless modern books that make this Perfect Hero mistake, but let’s go back to a classic. In J.R.R. Tolkien’s Lord of the Rings Trilogy, we meet the character of Strider, who looks like he is going to turn into a really cool character. His background is shady, we don’t know whether he’s going to pull a knife on the helpless little Hobbits in the middle of the night, or maybe sell them off to his evil master, or not. He seems capable of anything, and this ambiguity of character keeps us all on the edge of our seats. We do, in fact, like Mr. Shady Strider quite a lot.
But then we get to Rivendell, and just like that, good ol’ Strider is revealed to be the lost Heir to Gondor, and poof... his character boring-ifies. And never recovers for the rest of the series. From that point on, Strider aka Aragorn is Lame. He is supposed to be wise, but he never makes any decisions until he is forced to, and then he is always unsure. We are told he is brave, but he consistently hesitates to charge the enemy or engage in a real fight until—again—he is forced to. He has no sense of humor, he seems ambiguous in every way. He is King, but he isn’t sure if he wants the throne. He has no vision for his future kingdom and no apparent sympathy or loyalty to his people. He spends the entire Trilogy staring off into space being ‘kingly’ and we never see a hint of Strider again.
What happened?
Simple. Mr. Tolkien made a mistake that is extremely common among Fiction writers today: he switched his seed-concept (read about this in How To Make A Character) for his character from “mysterious wanderer” to “ancient king” which happened to be a Perfect Man. When he flipped the character of Strider over to Perfect Man mode, the guy became the most predictable and uninteresting character in the entire trilogy. Even his rival, Boromir, had more pizzaz, because Boromir was super-ambitious and always on the edge of going megalomaniacal!
A Hero that has to constantly battle against his own evil impulse is a great character. Not only that, he’s realistic! A real person always has a character flaw or a weakness that is always tempting them. Some people are drawn toward being bossy and domineering. Others are inclined naturally toward being shifty and deceitful. Others are weak in the area of backbone, and let others constantly walk all over them.
When you have a main Hero who has a recognizable, understandable weakness or two (or three) like a normal person, suddenly we can identify with that person and get inside their head. We are no longer dealing with a Perfect Robot, but with a living breathing personality who can (and should) during the story lapse into episodes of weakness or naughtiness.
Let your Hero mess up! In George Lucas’s Star Wars Trilogy movies (the original three), everyone loved Han Solo because he was exactly the kind of character we need as a Hero. In the end of the first movie, we see him about to take his paycheck and run for it... a clear moment of weakness, the Hero giving in to his baser nature. But then unexpectedly, Han Solo redeems himself forever by returning to the battle just in the nick of time to save the day, allowing his selfless heroism to win out. And that is what made him great.
On the other hand, Luke Skywalker was an extremely lame Hero. His only flaw, if it can be called that, was being a little bit young and over-eager. Is this a real weakness? It gave his character some oomph in the very beginning of the trilogy, but by the second and third movies when he was supposed to be acting older than his years, he lost all appeal because his one and only spark of humanity had vanished. By the time he rescues Han Solo from Jabba the Hut, his character had transformed completely into Mr. Perfect, and even his fight-scene with Darth Vader in the end of the last movie where he was supposedly tempted by the Dark Side was completely unconvincing... because we had never seen him give in to the Dark Side before. Therefore we knew he would not in the Big Fight Scene either, so what was the point?
If Mr. Lucas wanted to use the weakness of ‘young and overeager’ as a real character flaw, he could have kept it up and made a much more likable Hero for the movies. If Luke was just one of those guys who is continually immature and rash, rushing off to do stupid things even though he pays for it, we would all have cheered if in the Final Fight Scene, Luke finally mastered his own rash impulse and actually had patience... and this patience would have of course won him the Fight. Which also would have won the audience’s hearts. Remember, in a really good book, the Hero not only masters the Villain, he masters himself.
Also, don't make the Hero a know-it-all. Don't give him the greatest skills ever seen by Mankind, unless those skills come with drawbacks he has to deal with. Don't make him the best-looking handsome chiseled-feature dude on the planet unless he gets to deal with jealousy and the unwelcome attention of mobs of ugly women in exchange. For everything he's great at, give him at least one thing he completely sucks at. For example: Han Solo had the fastest ship in the galaxy, but he sucked with money. That balanced him.
In the perfect Plot, your Hero will have a single weakness that he is constantly hiding from the other characters and trying to fight against, but he gives into every now and then. But he has to overcome this weakness in order to defeat the Villain, thus proving himself a courageous human being, worthy of admiration. In the final epilogue after the Climax, he apologizes for his former acts of weakness and makes amends, thus proving that he really has changed and grown stronger.
But even a character that has really changed will never be free from that weakness. He will just be much wiser, more experienced, and cautious about allowing that weakness to influence him. In the future however he may meet a temptation that is stronger than any he has ever faced before, which of course would create a great deal of suspense for the reader. Will he conquer himself again? Or will he give in this time?
Don’t make the mistake Mr. Lucas made with Darth Vader/Anakin in the Prequil Trilogy. He set Anakin up as a Hero who had a Flaw (tempted by the Dark Side), and gave in to it... only to conquer himself in the ‘later’ Trilogy and kill the Emperor at the end of the story. However, we are never really sure why on earth the Dark Side is supposed to be so tempting. Anakin/Vader is supposed to have this huge Flaw, but the Flaw is completely incomprehensible. Why is the Dark Side so alluring? It looks like he went from being an ok, pretty cool good-guy to becoming a lame little street thug. What is so tempting about becoming a thug? The audience is completely lost.
If I had written the Prequel Trilogy, I would have made the Jedi Order an ancient religion that had done what many religions do over time: fossilize. I would have made it so bureaucratic and bound up in stupid rules that make no sense that it would have been the Jedi Order who cold-bloodedly killed Anakin’s wife Padme, simply because it was against the rules for him to have a wife. Then his rage against the inflexible, bloated, bureaucratic Jedi Order would have been entirely understandable and his flaw of ‘rage’ would have flared to life as ‘revenge.’
Vader would have thought of himself as a savior of the Jedi by destroying the Order, because he was erasing thousands of years of fossilization (and really stupid rules like not allowing the Jedi to reproduce, even though the Jedi skill is supposedly genetic... smart move there), allowing the Order to rise from the ashes like a phonenix into new and vital life. And he would be right, that was exactly what he accomplished.
So in my version, Vader really would be kind of a hero, and he really would have restored balance to the Force... so long as Luke after his death didn’t establish the old stupid bureaucracy again just like it had been, but this time allowed the Jedi to breed and replenish the gene pool. (In which case part of Luke’s duty as the Last Jedi would have been to impregnate as many high-potential women as possible, an interesting plot twist don’t you think?)
In conclusion, a Hero who eventually conquers a weakness or flaw that we can all understand is going to be an interesting, warm, and inspiring good-guy. Just remember that his flaw is always going to be part of him, and you can keep bringing it up pretty much indefinitely in future series.
For example: if Luke’s flaw was that he was slightly immature and reckless forever, how could the duty to replenish the Jedi race through a breeding program be jeopardized by his weakness? Could he get into serious trouble, even become something of a Jabba the Hut bad-guy himself with thousands of women in a harem, mind-controlling people... well I’ll leave that to your imagination. In the end, ol’ Han might have to hunt Luke down and talk some sense into him though, maybe by threat of freezing him in carbonite and cloning him for genetic material if he refused to shape up... the sky is the limit for plot-twists here.
Never make your Hero into an Aragorn. Mr. Perfect is boring and nobody wants to know him. Give him some spice, humanity, flaws, a sense of humor helps... something to give him a handle that we can all understand. Because while no human being is perfect, we all have one thing in common that every human being on earth can understand: all of us have messed up.