I've been using namecheap for years. Never had any problems with them. They are reasonably priced and fast to respond. The only thing I don't like is their slightly confusing interface. Hiring an UX engineer and giving him free reign wouldn't hurt them :)
I keep getting emails about expiring domains and auto-renewals. I maintain a separate spread-sheet to keep track of these.
For some reason it not only annoys me but it always make my blood pressure shoot up. To turn these alerts off you have to disable auto-renew for the domain. This check box is not easy to find. They hide the auto-renew check box column very cleverly.
Now I get emails about expiring other services... I still haven't figured how to turn these off.
Pay for what you use from people with do right by their customers.
When I had my own server and tried to transfer the domain there was no way for me to get them to release the domain name. If I cancel my hosting account, then I would have to wait until the domain expires and becomes available again, so that I can then re-register it with another registrar, was their reply. No matter what I tried I couldn't get them to let me transfer the domain name away from them or even update the nameservers to make it point to the new server.
Things surely have changed by now but because of their policy I lost a well established domain name, so that I haven't touched their services ever since.
They're also a huge reseller. I'd rather deal with a tier 1 provider instead of one 2 or 3 links down the chain.