GoDaddy is popular, but it's a terrible service, has underhanded billing, foists misfeatures on unaware domain purchasers, and uses sexist advertising.
3rd recommendation for NameCheap here. I've used them for 4 years, never had a single problem with my domain portfolio. They are 2nd to no one. The bonus is that NC offers their excellent services at the cheapest prices... do a google search for their monthly coupon.
A very important reason why I will continue to use namecheap... when a domain of mine expired, it cost me nothing to recover it via namecheap. I had a similar experience with a domain I had registered with godaddy expiring and it cost me $90 for the same recovery of a domain name. I transferred my remaining domains that I had on godaddy to namecheap and haven't looked back.
Similarly, I had some domains which had expired for 2 days, and Namecheap let me renew them at no charge. I am pretty sure at GoDaddy the same thing would have cost at least $10 extra(wouldn't surprise if it is actually $90).
On the other hand, GoDaddy renewals are roughly $3 cheaper than Namecheap, because many GoDaddy coupons work for renewals, but I can never find good coupons for Namecheap renewals.
I've found that if you have a reliable third-party DNS service with a good interface, using godaddy just for registrations isn't that painful. You get to avoid the worst parts of the godaddy interface -- and just need to deal with their annoying upsell attempts each time you renew.
I use godaddy to register my domains, and I use the DNS management I get with my VPS provider (slicehost). I have no complaints.
http://namecheap.com/ - Almost as cheap, and has a much better interface.
Those are the two I use exclusively, minus some for ccTLD-specific domains.