Perfect characters who get everything right are no fun. Heroes that are worth reading are ones who can screw up royally. Now, of course, you can write them just getting unlucky, or being overpowered, but the most interesting mistakes are the ones that come the core of the character.
Take, for example, the two protagonists of my upcoming A Murder of Mages.
Satrine Rainey and Minox Welling are both heroes with a lot of
problems. Right from the first line of the book, we know that Satrine
is a liar. She's lying and faking her way into a job she hasn't
earned. She hates that she has to do it, but it's the only choice she
has to make the money she needs to support her family after her husband
suffers a horrible injury. So she lies, she forges documents, does
whatever she has to-- and she knows she can do it very well, which is
the part that makes her angriest of all.
has his own problems. He's a brilliant inspector, but his colleagues
don't like him and don't trust... in no small part to him being an
Uncircled mage. He has the ability to do magic, but no training-- it's
all self-taught, raw, unfocused, and dangerous. He felt that was his
only choice: being in a Mage Circle would prevent him from being a
constabulary officer. For a man whose father, grandfather,
grandmother-- not to mention aunts, uncles and cousins-- have all served
the city in the Constabulary, not wearing the Red and Green wasn't even
Satrine and Minox are both
very good at their job, but they've also got a huge blind spot to their
own weaknesses. And that's going to get them into trouble.