There are tons of companies that offer domain registration, and out of those, I found 1&1 to be the most economical and easy to use. Their fees are pretty low -- about $10/year per domain name for the most sought-after domains such as .com and .net. But the best thing about using 1&1 is that they offer free private registration.
What is free private registration?
When you register a domain, your contact information becomes public. Anybody who looks up your domain name can see your name, physical address, email address, etc. It's actually scary how easy it is. (You just need to google "whois"!) On the other hand, private registration ensures that your information is protected. So instead of your personal information, the following is displayed instead:
1&1 Internet, Inc. - http://1and1.com/contact
701 Lee Rd. Suite 300
Chesterbrook, PA 19087
A lot of companies (GoDaddy, for one) charge for the service. The last time I checked, it was $10/year in addition to the domain registration and renewal fees, which effectively doubles your cost if you want an extra layer of protection between you and all the kooks out there.
So my recommendation is to try 1&1. I've been using them for more than seven years now without any problems. And you can't beat $10.99/year for the domain plus private registration for peace of mind and privacy.
Note: The 1&1 tech support isn't bad for things like domain registration and transfers because you rarely, if ever, need to talk to somebody on the phone about it. However, if you need some hand-holding because you're using them for web hosting, you may find them a bit lacking. I've heard people grumbling about it on Twitter, and Hero Material found them somewhat frustrating to deal with.