My mains have always been kinda stuck since the start, though one has changed quite drastically because of world building (as will, possibly, another).
In some cases, if I have had a name that doesn't fit, I make it fit. For example, I have a character named Landa. She doesn't really match any of the names in my southern provinces, so I just made her name Alandra. Now, since her brother couldn't say the name Alandra properly when she was born, Landa stuck. Good reason to explain the name and give a little realism to the character too.
Generally though, I tend to stick with 'Earth' names, as most of my cultures have a real world counterpart. To that end, I might just google 'German surnames' or 'Japanese girl names', depending on what I'm after and just go from there.
In the case of immortals, I tend to go for angelic or fantasy style names such as Ashmael, Siderias and Heramus, just to set them apart. I usually google 'demon names' for things like this.
As for other fantasy names, I have said here on the forums before that I often look for names in between words. For example, Luiglin's post above can yield:
I go through a whole gamut of ways to get character names till they feel right for the person, even the minor ones. From real life names, to towns, to a spreadsheet that I created that randomly generates names, to hitting the keyboard keys and seeing what appears. 99% of the time I then tweak the results further to get them so that they 'fit'. For me the name comes early in the process and has to match my rough ideas on how I want them to be. As such the naming doesn't normally take as long as the fleshing out.
Olegamu, Ternam, Venthe, Allifen, Asprea, Atrando, Ormethena, Lyinth, Cessandha, Myro, Enami…
Now, not all of these are ideal of course, but they can lead to different spellings and get some juices flowing at least.