Lois Moss posted about contrast in this post, which I like so much that I'm going to expand upon it here because I think it's an important aspect of storytelling.
What Lois essentially says is that contrast increases depth. Characters who are completely good are flat, as are characters who are completely evil. The same can be said of characters who are neither good nor evil. Without contrasting traits, characters lack depth. A flawed hero is more compelling than an invulnerable, unflappable superhero, and a villain who also has real human weaknesses and needs is more compelling than a purely black-hearted monster.
Why is this? I think it's because good and evil which arise out of each other (for example, a heroic act by someone who is afraid or petty or not truly likeable, or an act of treachery by a person acting out of fear or love or some other need) are more clearly visible, standing out just as a lighted surface is brighter when seen against shadows. "Good and evil" is of course an oversimplification, a generalization, and you could as easily stay "strengths and weaknesses" or any other pair of opposing/contrasting forces. Contrast heightens intensity.
This same concept holds for plot. If it's all one sort of action at the same pace, it becomes the status quo, eventually exhausting or inuring the reader and turning into a static background. Moments of quiet make the action scenes speak more loudly, and vice versa. This isn't limited to action/rest in terms of pacing; you should also think about the contrast of mood in your story, of emotional intensity. Is there variety in all your story elements? Variety is contrast. Contrast heightens intensity.
Drama is the essence of storytelling. If your hero is a spotless "white hat" and your villain is a heartless "black hat" and your plot never varies in its pacing, you don't have drama, you have melodrama. Melodrama is to be avoided. Just take my word on it. Certainly in melodrama you're contrasting one flat character against another, but that doesn't hold reader interest. Nor am I necessarily arguing in favor of moral ambiguity; I'm just saying that flat characters/stories are flat because they lack depth, and that to add depth you should consider adding contrasting elements to your characters/stories.
Give your protagonists weaknesses. Give your antagonist human feelings and needs (remember that your story isn't just your protagonist's story; it's your antagonist's as well). Give your subordinate characters needs and depth. Vary mood and pacing for contrast and effect. Your story will be more engaging, more interesting and more rewarding for your reader.