Don't you love a protagonist who isn't afraid to deliver a gut blow? To scream in a situation where you yourself may just walk away to avoid it? Readers love head-on and multidimensional characters ... if they are too perfect or too evil, they are not real. Think about your favorite character and your favorite villain. What makes you love him? What makes you hate her? What makes you sympathize with both of them?
Traditionally your good girl would love to dance naked in the rain or your bad boy loves his momma. There is a quality in them making them more human and more likable.
To help you to that with your own characters, start by looking at your main character and ask yourself these questions:
1- What does he want most in the world? What else does he want that is diabolically opposed to the original want?
2- What is her best trait? Her worst?
3- In a tense situation, what is his normal reaction? What is the opposite of that?
4- What is something she would NEVER think, do or say?
Once you've answered all these questions and truly had that conversation with your character, have it with another character. Then have each of those characters at one point or another, or several points, exhibit the trait that is out of balance with his normal reaction or desire. Do it with all the main characters and your novel will be richer than it was before. Readers love a character who isn't afraid to say or do the thing we all think of later.
(I'd like to attribute some of this to Donald Maas and Writing the Breakout Novel ... and thank him for helping me expand my characters.)