A character's name is an important aspect of the character itself. A name goes with a person forever, whether they like it or not. For people who know them, it becomes an integral part of their personality. For the person themselves, it becomes a part of their identity.
Would Percy Jackson be the same if he was named Albert Bergenstein? Probably not. To me, Percy Jackson has a slightly quirky name, which fits him ('Percy' just strikes me as quirky for some reason). Would Aragorn be the same if Tolkein had named him Frederick? Ignoring the fact that Frederick isn't a Middle Earth-sounding name, it just doesn't roll off the tongue with a majestic, kingly sound like 'Aragorn'. Of course, these perceptions are all a little skewed, since I've never known the characters by any other names. The point still stands.
Writers go about naming their characters in different ways. For me, most of my characters just popped into my head, and the name came with them. I never really thought about Everett Flinch's name, or Davi's, or especially not Mason Ardale's. I keep a spreadsheet of names I like, and none of these were on it. I just felt like Mason couldn't have any other name.
When the name doesn't come automatically, though, you'll have to go searching for it. To do this, I recommend starting with a baby naming website (like this one or this one). Most of these sites allow you to search using a number of various factors--popularity, starting letter, names similar to X, ethnicity, meaning, and more. Start keeping some sort of list of names that grab your attention. (Spreadsheets are wonderful for this, because you can organize columns and keep track of meanings and other things.) You could start off by searching for names that mean something that describes your character. (Baby name websites are so addicting, for writers, aren't they? I love looking for character names.)
I've read some writing advice that tells you that your character's name absolutely has to have a meaning that is relevant to the character or story. This is not true. You can do it if you want, but there's no reason you'd have to do it. Real people sometimes don't consider the meaning of their child's name when naming him/her, so writers can do it, too. Chances are, your readers won't bother to look up the meaning, anyway.
There doesn't have to be any deep or symbolic reason why you picked the name you did. You can pick all your names by finding names that just sound good to you. There's nothing wrong with that. Again, real-life parents do this all the time.
Keep in mind, though, names that were popular or unpopular when your character was born. Look up some census data (it's everywhere online) to find out what names were big when your character was born. For example, you're not going to find many teenagers today named Agnes, because the name wasn't very popular in the 1990s. Nor are you likely to find a modern 50-year-old man named Taylor, Jordan, or Aidan. Names go through trends like everything else.
You should also keep in mind your character's ethnicity or heritage when choosing a name. A family with Norwegian roots is probably not going to name their child Pedro. Again, most baby name websites allow you to search for names with specific origins, so you can find names that go with a certain ethnicity. (Icelandic names are cool. I looked up the names of the band members of Of Monsters and Men, and it looks like the Swedish Chef slapped a keyboard. But how cool is the name 'Ragnar'?) Some families might even have naming traditions, like giving the firstborn son his father's name as a middle name.
Also, can we please not take a "normal" name and spell it unconventionally, just to make it "different"? Can we not name people Maery, Kaite, or, I don't know, Aschleey? (Hahaha, I just saw what I did there. I didn't realize I did that until it happened. I debated changing it, but I think I'll keep it.) This is not cute, trendy, or a good way to be unique. Let your character's personality stand on its own without this type of eye-rolling name.
And then there are fantasy names. This is a whole different ballgame. Fantasy names generally don't use names that today's society recognizes as, well, names. Fantasy names are often nothing more than made-up words. Still, in many cases, there is some sort of pattern to the names. In Christopher Paolini's Inheritance Cycle, different races of people have different sounding names. Elven names tend to be vowel-heavy and smooth-sounding, with lighter consonants, like Arya, Ellesmera (not a character name...but it fits my point), and Oromis. Dwarf names have a harsher, more "throaty" sound, with harder consonants, like Orik, Hrothgar, or Hvedra. Human names are, admittedly, a mixed bag, but many of them are either recognizable as real-world names, or sound like they could potentially be real-world names: Katrina, Roran, Angela, or Jeod (which sounds a little like Jared to me). And then, of course, the evil people have to have evil-sounding names, like Galbatorix (I'm pretty sure his parents just picked some random Scrabble letters to name him) or Durza. Do you want a Galbatorix babysitting your children? Nope.
There aren't any set rules for fantasy names. It's probably best not to have a Leriocis'wqeoikl and a Fred that come from the same town, but other than that, it's wide-open territory. I'd suggest using some name generators to help you get started. You'll have to sift through lot of unpronounceable gibberish, but you might find something you like, or something that sparks another name idea. Side note: Can we please avoid names with apostrophes at all costs?
A good generator to start with is this one, on rinkworks.com. You can customize it, if you want (make it give you names starting with ta- or ending with Q or whatever you'd like). It also has a dropdown list for names with similar sounds. Another good generator is this one, from seventhsanctum.com. It has a fantasy name generator, but also a ton of other random generators for...basically everything. (The fanfic pairing generator is a little scary.)
However you go about naming your characters, keep in mind that it'll stick with that character forever. This doesn't mean that you have to spend hours poring over baby name lists, but unless there's a specific reason not to, you should generally pick a name that you like. After all, you'll be typing it over and over.
How do you name characters? What are some of your favorite character names?