I find perfect characters to be painfully boring. It is far more fun when they have a big, glaring flaw and/or weakness to take advantage of. Everyone needs their kryptonite, so to speak. My fae in a M// 1x1 I am in is fatally allergic to steel/iron, and if it gets in his bloodstream, he could die. His boyfriend is a vampire, and that's pretty much the only reason he's still alive. The vampire drew the iron out by drinking it out of his blood.
I have a mage who is so bad with any sort of physical weapon that she is likely to stab herself if she picks up a blade. Needless to say, she sticks with magic. Of course, if anything should come up that blocks her magic, or if she runs out of energy, she's a sitting duck.
I have a really quite powerful assassin who has super speed, super strength, and super agility. She also has a super annoying demi-goddess named Aslin inhabiting her body, and when Aslin tries for a complete takeover, my assassin has to devote all of her attention to keeping that from happening. Of course, Aslin likes to try for the takeovers when the assassin is otherwise occupied (i.e. in the middle of a battle). There is a reason that someone with such super powers has so many scars.

My dragonrider is as average as they come. She is so forgettable that people are always going "Who?" when her name comes up. She blends into any crowd. She is also nice to a fault, in that she lets people use her, even when she knows they are using her. On the other hand, she has a very charming personality, and she is incredibly intelligent and resourceful.
It's just much more fun, and the story is more interesting, if characters have big flaws. Of course, you can take it too far in the other direction, too. They need good points to balance out the flaws, and they need flaws to balance out the good points.