I nickname nearly all my pokemon.
When I name them, I tend to name my pokemon after characters from cartoons or anime I watch. I usually name legendaries after deities in mythology but I have a small exception in some cases. In some rare cases I also give generic names based solely on their typing or appearance.
When I name my pokemon after characters, I usually make sure that the character either has a close appearance (i.e. looks a lot like the pokemon, wears similar coloured clothing, hair, etc) or has a similar personality to them