Research the Meaning
Often the meaning of a name can inspire you to consider a name you might not have otherwise picked. My eBook Salvatore's main character is a feisty, strong character named Alexa. The meaning of Alexa is "man's defender; noble" and that's exactly what I wanted my sword-wielding heroine to be. A good way to find names is to go on sites like http://www.babynames.co.uk/ where it has the names and meanings side-by-side to stop you getting attached to names with terrible meanings that you wouldn't expect, like Cameron, which means "crooked nose."
In another of my eBooks, Vessels of Existence, I didn't research names as the prisoners have their memories wiped and give each other nicknames instead and I preferred having a good back story for the name than finding one that held some kind of meaning.
'"My nickname’s Obby if you need me for anything. It used to be Gobby but after they beat the guy up who gave me the name, he spoke like he constantly had a sponge shoved in his pie hole. I thought Obby was funnier. I think I’ll name you Shiv, like shiver. You seem more scared than most people do when they first get here.” He chuckles. I don’t really see the funny side.' - Vessels of Existence.
Find Out Connotations of the Name
Some names have people attached to them already, and a reader will automatically think of them while reading it. Unique names mainly, unlike Sarah or Daniel which are quite common, and easy to get away with if the character is meant to be an average Joe, so to speak. Names like Rihanna will conjure an image of a Bajan singer that likes to wear very little clothing or Obama of an American president that seems (to everyone but the Americans) like a pretty cool guy or Madonna of a shameless fifty-something that doesn't know when to stop.
Other times a character might already be associated with another book which can also be dangerous. Writing about a couple named Romeo and Juliet is definitely risky and might just make your readers think about Shakespeare's version and how much they'd rather be reading that. If you have names that haven't been used that much, you can put your own unique stamp on it.
Sometimes that can be a good thing, or a part of the story, for instance if they were named after a particular celebrity/political figure of the time they were born by their die-hard fan parents which then leads into a story of them dragging their little Bono around the country after U2 trying to catch a glimpse of their son's namesake and him growing to accept his parents and as a result himself. Or something.
Names of the Times
In different time periods, certain names were popular and some names didn't even exist yet. Whereas Bertha and Edna were in the top 20 names of the 1890's, they aren't so popular any more. Make sure your name is realistic for when your character would have been born. For example, Britney was popular for girls born late-90's as made famous by Spears. I imagine in the past few years Edward and Jacob have been growing in popularity too, as made famous by Twilight. It's important to know trends. If you have a Victorian child named Shakira, it'll probably take away your story's authenticity.
Names of the Places
If your character is a working class, white boy born to two average, white working class parents, chances are he won't be called Adetokunbo which, by the way, means "he will wear the crown of the sea". Think about where your character was born, where they grew up, how normal/wacky their parents are, where their parents grew up, their ethnicity, their class. Take all of these things into account to make sure that a name doesn't sound odd to your reader.
You want your main character's name to be memorable, yes, but you also need it to be believable. If your MC has brothers and sisters, they have to all sound like they were named by the same two parents. Like if the parents are Tom and Mary, their kids will be like Emma, Paul, Rachel, Harriett, Christopher. Names that fit, that two average parents would give to their brood. If you have parents named Honeybee and Zeezeezacharias then the children are probably more likely to be called things like Fangbite, Kakekikoku and Butterflyantennae.
Whatever you name your character, you have to keep and mind that they will probably have a nickname. Elizabeth - Beth/Lizzie/Lisbeth/Eliza/Liz/Ellie/Ell/Bee/Zabeth. Think of possible in-jokes or connotations of the names, like an annoying younger brother might insist on calling Elizabeth, normally called Liz, Lizard or Scaly Face or Snakey.
For a story I was writing recently, I had a Catherine. To her friends and family she was Kate, which sounds quite young and fun to me, and to her controlling and possessive boyfriend she was Cathy, which sounds more like an older person's name which didn't suit her personality at all and showed how little he knew about her and what he would prefer her to be like, an obedient housewife.
I probably spend far too long naming my main characters because I actually enjoy trawling through baby name websites to find the absolute perfect name for my main character. Usually when I see a name I just know, I think of a few nicknames and back stories and I'm ready to go. For the minor characters, I'd suggest just using a random name generator which actually sometimes helps inspire main character's names too. My favourite is http://random-name-generator.info/
Hope this helped you!