There's nothing worse than a two-dimensional character who you can't differentiate from the other characters. It's almost as if little clones are walking around in your book or story, carrying out the plot but without much success. That's because your plot springs from your characters. Here are some tips for making them richer and more distinct:
1) Determine their external characteristics. How can these add to their personality? That doesn't mean that you settle for cliches: pirate with an eye patch, car salesman with a gold chain. And sometimes you'll want to describe them in direct contrast to their personality: a villain who seemed to be a handsome, young man.
2) Develop their goals: These are what will drive your character. What they want and why? Some of these goals will be obvious to the reader, but not always to the character. Others will be the "mantra" that your character lives by. (ex: Scarlett O'Hara, "I'll never be hungry again.")
3) Figure out their point of view: That's right. What's the character's point of view? How do they see themselves, their family, the world around them? This can also be a part of their goals and motivations and drive the plot because perception is always reality for a character.
4) What is their flaw? No one wants a perfect character and so come up with a few weaknesses that will contribute to the plot.
5) Carry out a dialogue with your character and ask them several personal questions, such as: "Where did you grow up," "Who was your best friend," "What do you want most out of life." Get to know them as well as you know yourself.
6) Write this all down! Keep a 'character log' that you can reference as you write your story.