In my research, I've come up with a few good hints for writing good characters.
1. Give each character one of your own personality characteristics. But also give that character a characteristic that is completely opposite to your own personality.
2. No one's perfect, and no one's completely evil, either. Give your characters both virtues and flaws. And give them reasons why they're that way (see #3 below). Not everything comes from an unhappy childhood, Mr. Freud.
3. Motivation. What motivates your character? Did Bob kill his mother because he hated her or wanted to protect her? Did Fred steal the cookies because he was starving or just because he likes them?
4. Fears. Just like everyone has flaws, everyone's afraid of something. What is your character afraid of? Drowning? Sinning? Disappointing his parents?
5. Don't use stereotypes - use archetypes. I recently found a great book called 45 Master Characters: Mythic Models for Creating Original Characters by Victoria Lynn Schmidt. It is very helpful for creating an original character, and everything I said above is in this book...and more. And remember, flat characters are very boring - make your characters, multi-dimensional.
I hope these tips were helpful. And remember, I take requests for writing tips. :)