What is the cheapest? I use GoDaddy.
I buy all my domains with namealerts.com they have never let me down yet, they are also very very cheap

I have mine with my host. While my other extra domains were acquired for free. I have been active with a forum that were giving free domains for a number of points. They will also handle the renewals. It's still best to have it free even if there are cheaper ones though.
GoDaddy here. I used to use register.com back in the nineties before I had a clue.

Domainrightnow was also a good registrar. They have an excellent support.