I only name the pokemon that I want to have as my main team. Other than that, I never give nicknames to the ones I catch to complete the pokedex... I've been playing pokemon for years, with lots of replays, so there were lots of different nicknames for some of the species. One time, I got into a Harry Potter craze and named all of my pokemon after Harry Potter characters. For awhile, I named all of my pokemon Japanese names.
Now, I just name them based by appearance or with names I like. I have an Umbreon named Gracie :D. My Gloom is Plum because she's the color of one. My Growlithe is Helios, god of the sun. Togetic is Angel, Lanturn is Hotaru(Japanese for firefly), and Feraligatr is Hyouga(I think that's glacier, I'm not too sure). Although it can be a bad thing to give them nicknames because when they faint, I feel extremely guilty. It also doesn't help that heart gold lets you talk to your pokemon, so it makes it easier to get attached to your pokemon.