First, lets talk about when and where your story takes place. If it's in modern day anywhere USA, for example, it may not really matter what you name your characters. Parents are often likely to choose names for their children just because they like them, and it may have nothing to do with culture or time period. But if you're writing historical fiction, maybe something that takes place hundreds of years ago, your options for names may not be as vast. You always want to make sure the name you're using would actually be used during that time period. Look up what names were popular during that time. And if your book takes place in a different country, see what names are popular there. It's always important that the name feels natural for whatever story you're writing.
A character's ethnicity could also be a factor when deciding on a name. You wouldn't want to give a Chinese character a Japanese name, for instance. Depending on your story, this could only be important when figuring out the last name, but first names come from different places around the world as well. Think about who the character's parents are and whether or not culture would play a role when they are naming their child. A first name could be Spanish or Italian or Greek. You probably want the name to fit with who the character is. If you're thinking about a particular name, research where it came from and decide if it fits with how you see your character.
What factors have you used when deciding on a character's name? Ever written a story that made you really think about what to name your characters?