It's been a while since I wrote on Character Building, but I'm returning to the subject because of a recent review on my book. The reviewer brought up an interesting point. Characters need to have flaws, especially your main characters. Now she and I disagree on my characters, Jack and Silver. She saw them as too perfect, but I see the flaws in them. Silver is stubborn, fights with everyone around her and always thinks she's right. Jack has been sheltered (for a vampire), and he latches onto the wrong people. They both lie to each other constantly and hide things from each other, important things. Of course, I have a different view from the reader because I know what happens in all three books.
Yes, characters need flaws, but you have to be careful. If you give them too many flaws or the wrong flaws, you can turn your reader off. You want your characters to be liked.
What if your protagonist is not a nice person? This can and has worked in some novels. The trick is to make the antagonist a hundred times worse and make the main character the best chance that other people have for survival. It's fun to watch a bad guy take on a worse guy.
When building my characters, I don't go down a checklist and say 'I think I will give this person this flaw.' The flaws come out of who they are and past experiences. I believe flaws should be logical. Take Vampires Rule, for instance. Even though Jack was a vampire for ten years, he led a sheltered life. His vampire friends protected him, took care of him. He lost his parents, and we find out he had a distant relationship with his dad to begin with, so naturally he would have a hole there, and he might be desperate to fill it with the first father-figure he meets up with. Once he forms a bond with this person, he would be tenacious and not want to give it up even if he discovers the person isn't who he thinks they are.
When writing Vampires Rule, I didn't sit there and purposely work flaws into my characters as I was writing. I just wrote the story, and my characters came to life. For the people who see them as perfect, I am glad because that means they fell in love with those characters so much that they couldn't see their flaws. It's like when you look at your child, and you don't see their flaws as others do.