I'm surprised nobody has mentioned NearlyFreeSpeech yet. They offer very reasonably priced a-la-carte hosting solutions, with no monthly plan requirement, so you don't get screwed for going over maximum bandwidth... or under. It's great for small sites. And for only an extra $0.01 a day for a "Respect My Privacy" service to hide your registration information. Domain registrations are fairly cheap at $7.99. They also have great tech-support.
I use register.com. It's pricier than some of the others, but the interface is excellent, unlike the other two providers I've used (GoDaddy and 123-reg, which both have awful user interfaces).
I used register.com for a domain and let me tell you: when you want to transfer a domain away from them, they follow the, "If we make it damn impossible and frustrating for users to move away, a lot of them will give up during the process and we'll keep them!" way of thinking.
Careful with GoDaddy. One of our fairly innocuous link request emails (yeah I know, I know) got reported to Godaddy and they threatened to re-absorb our domain. Fortunately our sysadmin defused the issue. I can't recommend an alternative as we're still at GoDaddy because our higher-ups don't take domain asset management as seriously as they should.
Most of my personal stuff was registered through doteasy.com, and I have no complaints after 2+ years with them, though these sites typically do light duty, YMMV etc
I have had great experiences with Namecheap.com but when buying in bulk (100+) I strongly recommend Team Resellerclub, where I've being able to register domains for several dollars.
i used namecheap and will continue, but they blindsided me with the free domain name protector for the first year, then you have to pay for it for the following years, but aware, but not a deal breaker.
godaddy (blindsided with fees) did the same thing to me.
I've started using namecheap, as it was a few cents cheaper and the interface is an order of magnitude cleaner.
I've been using Yahoo lately and haven't been disappointed.
In the past I have used Gandi, which worked well until Visa's extra security screen (which doesn't work in Safari or Firefox) came along.
Earlier this year I registered 3 .com.au domains with Enetica totalling to ~$200 and they charged my account 3 times. I wondered why I had been charged over $600, rang them up and got refunded within a week or so.
I recently switch all my domains from godaddy to namecheap and is happy. I wanted to use 1and1.com but they can not accept my order as they are not able to "establish a clear system with regards to the ordering,maintenance and billing processes." with the country Singapore I am living in. Make me feel like I am in 1980s again. :-)
It's convenient to co-locate your domain registrar and your DNS server, so it makes sense to evaluate DNS quality when making decision. I have picked DynDNS for super-low TTL and pretty good DNS reliability story.
If all I want is just sit on domain until its useful, I may pick yahoo instead.
better to use one that has a good support, trouble I have had in changing registers is unbelievable. I now use omnis as they are quick, but not cheapest. Still not great support from them either. But at least there system works. Dreamhost were bad as was 1&1.
I use GoDaddy, but as others have pointed out, there are some frightening stories about them floating around.