Naming a baby is a hard thing because you're attaching a random collection of letters and sounds to this scrunched up tiny person that will follow it around for the rest of its life. That's a lot of pressure.
This means a good name has to have several characteristics.
Timeless. Don't choose a name that's linked to a particular generation. My own name, Ruth, conjures up images of blue-haired old ladies, as it was quite popular 100 years ago. I'm eighteen. Don't get me wrong, I've come to like my name, but sometimes it would be nice to have a more modern name. Names like Edith, Jennifer, Nancy, Karen, Edmund, Gary, and Herbert aren't going to cut it for a baby born in 2014 because they're firmly entrenched in bygone eras. However, names like Lucy, Emma, David, Peter, Catherine, James, and Matthew are classy and timeless.
Popularity. In contrast to my name, my brother's is quite common for boys his age. Four other boys shared his name in his kindergarten class. Some parents would prefer their kid's name was slightly more distinctive as to avoid confusion. This means you might want to avoid Ava, Sophia, Isabella, Ryder, Jayden, and the like. A simple Google search will reveal the most popular names. A good bet is to focus on name trends and make it unique. Girls' names that end in a are popular. This means you could consider Emilia, Adriana, Melissa, etc to find a slightly different name that still keeps with the trend. Last names seem to be in for boys. Some slightly less common ones include Bennett and Grant.
Spelling. Do you really want little Aliviah to explain every time that her name begins with an "A"? Or Andruw to have to tell everyone that, no, his mother does know how to spell, despite all evidence to the contrary? Giving a kid a name with creative spelling is a good idea for all of five minutes before Grandma gets wind of it.
Connection. I'm named after Ruth from the Bible, who is a pretty cool lady. If you're Christian or Jewish or just like Biblical names, go for it! (Although you might not want to name your kid Methuselah or Jezebel). Classic book characters like Atticus, Scout, Harry, Lucy, Calvin, and Charlotte can definitely be classy and unique. (Please don't name your kid Katniss). Draw on your ancestry! Choose Irish, German, French, Indian, Japanese, Italian, Egyptian, what have you, names for your kid. Most relatives would be thrilled if you named your kid after them. My brother's and my middle names are the first names of my mother's parents. Giving your child a meaningful name connects them to the family.
Other considerations. Be smart. Don't name your kid Dick or BJ or anything that other devil children can take and twist into fodder for teasing. Consider the initials. Adam Sawyer Simpson or Patricia Olivia Oswald do not work. Your child's name should also sound right with your last name, so practice saying it aloud. I've also heard that the final test is imagining how the name sounds shouted across the playground. "Xavier Geronimo Frankenmuth Junior!!!!" fails this test, unless that's what you're going for.
Good luck with your little bundle of joy! I have no doubt that you'll be able to arrive on a name that suits him/her and your family perfectly.
What factors should You consider in choosing a name for Your baby?
You should set criteria about the names that You didn't want, than what you can do. You ruled out any names which:
Are too specific to the time. A name which is at least known, even if not common, in all of the past few generations, not a name "just created".
Have difficult or unusual spellings. You preferred to use names with only one spelling, but if your favourite name has several spellings, at least use the most common spelling. Don't pick a name which your child will resent having to spell for others several times a day for the rest of their life.
Are highly popular / common. So nothing from the top 5 or 10 baby names of the past few years. Kids deserve to have a little more of their own identity than "one of the three Joshuas" in their class. (I know you can't guarantee there'll be no others, but give them a fighting chance!)
Are not well-known. This may sound like a contradiction to the previous one, but it's not; it means that you want a name whose frequency is somewhere in the huge middle ground between "ridiculous made up name which nobody's ever heard of and nobody knows how to spell", and "oh gosh, that's the third one this week".
Started with the same letter as one of their siblings. Just the orderly nut in me; I like for the siblings at a school, for example, to be able to be identified from their surname and initial.
Created unfortunate initials. Obviously, you don't want your child's initials to be KKK, or NRA. (Well, most people wouldn't want that. O_o)
Rhyme with something obscene or embarrassing. Or in any other way give other kids an invitation to tease your child. So "Regina" and "Mulva" are out.
Are associated with widely-held stereotypes. Think about how their name sounds in a wide variety of professions and lifestyles; you want a name to which they can attach their own identity, without baggage.
Are strongly associated with a famous individual. Similar to point 7, you don't want people to immediately upon hearing your name, respond with: "Oh, like (insert famous person)?". If you name your child Robert after Robert De Niro, it won't necessarily be obvious that you named him after De Niro, but naming your child Kiefer, Barack, Keanu, Beyonce, or Pink, is almost certainly going to have them being asked if they're named after their famous counterpart, every day of their life. Which may be OK, if they like that person, or it may irritate your child enormously.