Highly recommend gandi.net
Although not the cheapest (a .com with NameCheap and whois protection costs $13.57/year. With Gandi it's $15.50), I find that you get what you pay for: for an extra ~$2/year or so you get clueful staff who respond promptly and competently to issues, built-in whois protection (lots of registrars charge extra for that) that ensures that you're still the legal owner of the domain (your name is listed as the registrant, but all the contact information can be masked with Gandi's information by the whois protection), the ability to add DS records for DNSSEC (neither NameCheap nor Hover allow this), a good API if you want to do things programmatically, and a great UI. You get a free SSL cert when you register/transfer in a domain, and SSL certs can be purchased from them (they chain up to Comodo) for a reasonable price.
They support a variety of organizations, including the EFF and Debian, that do good works on-line and off-.
Also, they're located in France. This offers some protection from various US shenanigans when it comes to seizing domains (assuming the TLD is not US-based), if that's something you're worried about. It's not perfect, of course, but it's something to keep in mind.
They offer decent, anycasted DNS service. Their nodes are located in Paris, Luxembourg, and Baltimore, so they have reasonable resolution speeds in Europe and North America. Nothing fancy, but it works well. You can, of course, use any other DNS host you want (e.g. one run by your web host, a third party service like easyDNS, etc.).
They also offer three types of hosting: basic web hosting, "Simple Hosting", and VPSs. The VPSs are pretty bog-standard, so you won't see any surprises, but I find DigitalOcean to be a better value for VPSs. The "Simple Hosting" is interesting to me, as it's a sort of crossover between shared hosting and a VPS: you choose what type of instance you want (PHP, Node.js, Python, or Ruby), what database type you want (MySQL, PgSQL, or MongoDB) and how much resources you need and you get a dedicated instance of that type. Instances are managed by a hypervisor so other users on the same hardware are logically separated and don't interfere with your service. Additionally, they put a Varnish cache server upstream of your instance so it's extremely fast.
Alternatively, I recommend NearlyFreeSpeech.net for excellent hosting.
In short: Gandi is a fine registrar and I strongly recommend them.