No matter how strong your premise or plot is, if your reader can't relate to any of your characters they may never finish your book. I have often started reading something only to find myself thinking "Who cares?" when things get difficult for the protagonist. I realized that the majority of these characters either were unrealistic or didn't have clear motivations.
Think about the people in your life. Even the most loving and generous of them have flaws and weaknesses. If you create a perfect hero, it can be difficult for the reader to understand their motivations. Also, you are depriving yourself of great plot points, as he or she struggles with their own limitations and humanity!
There should be a reason behind your characters actions. Spend some time developing a history for your character, even if the details don't appear in your story. Knowing a little about how they grew up or what significant events happened in their past can help make their decisions and speech real. Actions should never seem forced or out of place. Readers suspend their disbelief and allow themselves to become immersed in your story. When a character does something that seems completely against their nature, it distracts the reader from what is happening. Has someone ever told you an anecdote about a person you knew, and you thought "That doesn't sound like something she would do"? You begin to doubt the person you are speaking with. Don't let your reader doubt you.
The same thing should be true for your antagonist. Many of the most evil people in history have truly believed they were doing something good for their country, people, faith or family. Their perceptions may be severely warped due to some traumatic event in their lives, or just their upbringing, but even the villain should have a motivation for what they are doing. Rarely do people act just on a desire to hurt others, although that may be the outcome. Try making your antagonist think that he is the good guy. Give him reasons for what he is doing, even if they are flaws. Your story may become more interesting and complex.
Avoid stereotyping in your writing. Try to make all your major characters well rounded, each with their own strengths and weaknesses. If they have understandable motivations, your reader will be able to connect to them and care about their story. Then the plot you have created can really mean something.