What makes a good character? A character needs to be realistic, to say and do things that a real person would. It throws me out of the story if the hero starts talking in a way I've never heard a guy speak. Cardboard villains are a pet peeve of mine when I read a story. However, that's rather hypocritical seeing how I have the worst time writing villains and having them seem real. :) I once read something that said when you write a villain, give them a trait the reader can like. As in the psychopath that loves animals. Or the demon with a case of OCD who lost her Jimmy Choo shoes. You as a reader might hate what they do--being evil--but you'll still have a bit of sympathy for them.
I've used the occasional character trait from a real person, but I've never modeled a character after a person. Ok, I lie. My very first book (which is hiding in the closet never to see the light of day again) was based on a guy I knew in HS. It didn't work out so well, and I've never done that again. :) My characters come to me when I think of the next story I want to write. So I know a bit of their backstory before I begin writing, but the way they express themselves, their particular character traits, don't come out until I start writing.
Who is your favorite character and why?