But, in novels, character with flaws are often the most compelling.
Early Disney princesses come to mind as being the opposite of compelling. They are totally flat. Flatter than a piece of cardboard that's been trampled by a herd of elephants.
Cinderella is perfect: perfectly kind and perfectly hardworking. Princess Aurora is perfect: perfectly sweet and perfectly elegant. Snow White is perfect: perfectly innocent and perfectly pure. You seeing the trend? I call it the "Disney Princess Paradigm." Stop clapping, Snow White, it's not a compliment!
Those are a lot of good and admirable traits, don't get me wrong. But that's the problem: they're too good. They're too perfect.
And the problem with being perfect is that there's very little room for growth. What did any of those princesses learn from their stories? Can you think of a single thing? Anything?... Bueller?... Bueller?
Real people are flawed with insecurities, fears, jealousies, etc. For every trait at one end of the spectrum, there should be a number at the other. And it's these negative traits that necessitate character growth, that force a person to confront their flaws and overcome them. And sometimes it's these traits that a reader can connect with. There's something powerful in being able to relate, to see your own mistakes and reactions and flaws in someone else. So you *puts bossy pants on* HAVE to create engaging, well-rounded characters.
To ensure my characters have positive traits AND negative traits/flaws and to keep them unpredictable and layered, I came up with a method I call the "U-List Method."
I do this for each of my characters before I start writing (though it might change as the story is written and as characters fall more solidly into place). Here's what it looks like:
Make sure your character's u-list is well balanced in each of these areas. Having a number of positive, neutral, and negative traits gives characters three-dimension. And knowing your character's main traits can really help you to understand them and how they would act/respond to happenings in your story.
Remember: negative traits don't always mean your character is bad. A character that's stubborn might also mean that he/she doesn't follow the crowd. A character that seems overly-sensitive might also be more compassionate. Make your villain idealistic and honest, make your hero gullible and impatient.
To every coin there are two sides, the same can be said of personalities. And that's what makes people so interesting. And it's what will make your characters more interesting as well.
So go forth, my fellow wordfolk, and unleash your rounded character creations on the world!