What's in a name?
Everything. A name conjures up images in a reader's mind of what the character looks like, and what kind of person he is. Names can show the culture and the times of the world you're building. Chances are slim that the name 'Bunny' or 'Rex Larue" would be used as a legal name generations ago, but they would be common as stage names, even a hundred years ago, especially on one of 'those' stages. Research names for the time and culture settings of your story.
Strive to use pronounceable names.
Nothing is more annoying to a reader than not knowing how to pronounce the main character's name. You want the reader to be involved, to either love or hate him, and it's hard to do with a 'what's-his-name' character, believe me.
Phonetic spelling is easier to say, even with made-up names. If the reader must go to a list at the front of the book to learn how to pronounce a name, it really puts a drag in the enjoyment of the read. Don't make readers work too hard.
One resource is phonemic orthography.
Strong leading men and women need strong names . Think of the people you admire and consider strong. Do their names fit them? The same applies for other roles also. Who do you see when you hear 'Billy Bob'? This name is an example of a cliche that conjures up a slow, dim-witted, backwoods character. It would be difficult to transform a 'Billy Bob' into an action hero. Readers might see a loyal sidekick though. As a general rule, stay away from cliches.
Naming the characters according to the time and culture of your story is important. If they have a name that doesn't fit, as some do in real life, then give them a great nickname, use the surname--that works too. If you're familiar with 'Walker, Texas Ranger', you'll remember his first name, Cordell, was rarely used.
Of course, fantasy uses outlandish names--it's part of the genre, but making them pronounceable keeps the readers enjoying the read.