I actually prefer people who are neither. I like 'everyman' characters who are just trying to live their lives but get thrust into a conflict. Basically: I love characters who aren't trying to be heroes or villains. People like Winston Smith, Sam Lowry, Oliver Tate, and Arthur Dent are compelling because they are not good or evil - they are just human. I also like characters who are supposed to be the hero, but keep refusing - people like Garret from the Thief series, and Rincewind from the Discworld book series.
I also love people who are not villains, but are just loveable jerks. This includes people like Basil Fawlty (from Fawlty Towers), Otto (from A Fish Called Wanda), Zarphod Beeblebrox (from A Hitchikers Guide to the Galaxy) and everyone Bill Murray has ever played.
Also, where do I put people like Charles Foster Kane, Dorian Gray (from The Picture of Dorian Gray), Barry Lyndon, Stanhope (from Journeys End), Victor Frankenstein (the book version), or Miss Jean Brodie (from The Prime of Miss Jean Brodie) - the book, not the film)? These are characters who began as heroes but can no longer be classified as such.
Honestly, one of my favourite characters ever is Adolf Hitler from Downfall. Its extremely disappointing that no-one remembers this movie apart from the 'Hitler Reacts' scene, because its sublime. With the over abundance of two-dimensionally evil Nazis in literature/film/TV/games, its surprising to see something acknowledge that the Nazis were actual humans and not robots from outer space, and even more surprising that - whilst the film doesn't make Hitler sympathetic - the film makes us try to understand Hitler in his last days alive. What I like even more is that when Hitler dies, the film keeps going - because everyone seems to assume that Hitler was like a Sauron when in reality he was just a solitary human with disturbingly twisted morals who somehow gained power. He doesn't count as a villain, but he's obviously not a hero.
Heroes:
1. Alonso Quijano/Don Quixote (from Don Quixote)
2. Atticus Finch (from To Kill a Mockingbird)
3. Ed Wood
4. JC Denton (from Deus Ex)
5. Either Han Solo or Luke Skywalker (I can't pick my favourite. They are both compelling in their own different ways)
Runners up include: Ico and Yorda (from ICO), Princess Mononoke, V (from V For Vendetta - the book, not the crappy film that completely missed the point), The Man With No Name, and anyone Kurt Russell has ever played.
Villains:
1. Salieri (from Amadeus)
2. Richard III
3. Big Brother (from 1984)
4. Alex (from A Clockwork Orange)
5. GlaDOS (from Portal/Portal 2)
Runners up include: Nurse Ratched (from One Flew Over the Cuckoo's Nest), Norman Bates (from Psycho), Herr Flick (from Allo' Allo'), Death (from the Discworld series), anyone Alan Rickman has ever played, and anyone Christopher Lee has ever played (including Lord Summersisle from The Wicker Man).