Sometimes characters in books can also fall flat so it's our job as writers to make sure that this doesn't happen. There should be depth to characters, they should show a vast array of emotions and reactions and most of all, we should be able to see their many layers. Just like real people (hopefully) characters have to have a complexity because that is, after all, human nature. Sometimes we don't even understand ourselves and characters are pretty much the same way. That's all part of the human struggle and it's necessary for growth whether it's your own life or a character's development, it matters.
I certainly make great efforts to show the many sides of each of my characters. For example, as much as Jorge Hernandez (the protagonist in my recent books) is generally a very tough, alpha males, who can be abrupt, direct and occasionally cruel, he also has a soft side when with family and especially his wife. Along with all of this, he has much inner turmoil stemming from his childhood, his fears of being a bad father and about his future. For this reason, when asked to describe his character, I find it a bit difficult because there's no simple answer. Then again, when describing most people that I know, I run into the same problem.
Characters should grow throughout a book and if they are part of a series, throughout the series as well. It actually is fun to see where they will go and what will happen. Kind of like real life. Well, sometimes.