Look to your family's heritage. Consider choosing a baby name that is linked to your background -- an Italian name if your family is Italian, or a Hebrew name if your family is Jewish. (The bonus? It will probably match perfectly with your surname.)
Incorporate your passions into your baby's name. If you're an avid gardener or love the outdoors, a floral or nature-inspired name would be a great choice -- names such as Violet or Logan fit the bill. A voracious reader or an English teacher might opt for a name of a favorite author or a character from literature (think Charlotte after Charlotte Bront?, or Hermione from the Harry Potter series). And of course, a sports buff could name her son or daughter after a favorite athlete: Venus, Eli, or Nolan, for instance.
Find the right name in your history. That special little bed-and-breakfast you adored on your honeymoon, the street where you first lived together, or even your line of work -- a name that has one of these ties to your past will have special meaning for you and your mate. (That's probably how Madison rose to popularity.)
Scout your family tree. Maybe you aren't a huge fan of your own father's name, but your great-great-grandfather might have the perfect old-is-new name for your son. Or look for ways to freshen up a name from your family's past: Carol can become Caroline, or you can trade in Wilbur for more up-to-date William.
Think about your dreams and hopes for your future little one. Choose a name that reflects your wishes for your child. For instance, Felix and Joy both mean "happiness," and Lucky and Saida both mean "good luck." Or consider names that pay homage to specific traits you want your child to have, such as Charity, Hope, Faith, or Constance.
Find the perfect baby-name meaning in your own name. If your name has a beautiful meaning, search for a name that has a similar root. For instance, if your name is Margaret, which means "pearl," you could name your daughter Pearl or Gretchen (Gretchen also means "pearl"). Of course, you can also give your child the same name as yours or your mate's, or a variation on it. Your son could be Nathaniel, for instance, in lieu of Nathan. (For girls, it's often best to give your child the same name as yours only if you each can adopt a nickname or variant of it. This will help avoid confusion, because adding "junior" to a girl's name isn't really an option.)
Don't forget about the middle name. If you're having a hard time finding a meaningful baby name that works well with your last name, the middle name is the perfect place to incorporate a name with special meaning.