First, it should be short. I personally dislike having to type some character's name five times because it's some highly-bizarre spelling. I'm talking to you, Qystvzxeriqziski. The best names are both a known word/name and one that matches your character. For instance, an undead shadow priest named Void is an awesome name. Or a gnome mage named Itsy or Midge. But these names often go very fast. You might try building a character on a new server with a very low population to increase the odds in getting a great name.
You might name your character after a favorite character in a fantasy novel. A dwarf named Flint, or a Mage named Pug. A warrior named Tomas. Or a night elf named Legolas. You get the idea. These names also go quite fast, but you may stumble across a name you like that's still available.
You might also name your character after an every day object with a simple name. I have a female rogue on Gorefiend named Floss, named after the dental floss that was sitting on my desk when I created the character. I also have on Gorefiend, a dwarf paladin named Shuffle, after the iPod shuffle shortly after it was announced by Apple.
On the new servers we're using for our WoW Insider characters, I've simply made a character on each called Dab, for my initials. Because they are new servers, this 3-letter combo was available. Lastly, you might try just hitting the randomize button in the character gen screen until you find a name you like. I did this for one of my very first WoW characters and ended up with a night elf named Amal.
What are your favorite character names and methods for generating them?