When I bought a .io domain through them they tossed in a free SSL certificate. Not sure if this promotion is still happening, but it helped persuade me to go with them.
Personally, I've been moving my domains to EasyDNS for their strong support of privacy, security, encryption, due process, etc. Scan through these blog posts and see if you don't agree: http://blog.easydns.org/author/markjr/
Namecheap is pretty great. The going rate for .io domains is about $80, and when I last checked they let you register them for something closer to $55.
Gandi has them for ~$40 if you're looking for cheap. They also are a pretty solid registrar with a lot of features and competent support from my experience. The also include a free year of SSL with domain purchases.
Badger ($10/domain, clean UI, APIs, free privacy protection, integrations, randomly shares name with my alma mater's mascot)
http://www.badger.com/fivebucks gives you your first domain for $5 (if enough people use this I get free domains, but that's not why I listed it here.)
When I was researching registrars, it was right after SOPA and I was ditching GoDaddy, plus GoDaddy had had at the time several high profile security breaches that had led to loss of business for various customers. Even recently GoDaddy's lax security led to the loss of a high profile Twitter account.
DreamHost, because they coordinate well with their customers and resist automated/troll take-downs, plus their business practices have been honest and transparent.
Namecheap at the time of SOPA did not have customer favoring policies regarding DMCA allegations or otherwise.
I've also used 1&1, but 1&1 does not give full DNS control (custom records, etc.). 1&1 also has really shady practices of silently adding more expensive features to your account if you don't opt-out within 30 days of being notified (hey, we're going to convert your 1$/mo email to 40$/mo Microsoft Exchange, cool?).
I have an OpenSRS registrar (it costs $100 or so to set up?). It's essentially a pass-through to the Tucows/OpenSRS registrar. I have about 500 domains (mainly because when I register something, I get all variations, likely typos, gTLDs, etc.)
Once I have a spare $100k, I'll probably set up a real registrar.
I use namecheap, but I don't actually maintain any of the domains I own, I just have one for my name and I used to have a minecraft server set up with a domain, but it stopped being played.
namecheap for both registration and hosting. They have been easy to work with for hosting as someone going through the journey of learning web development on their own. I know I asked 2 or 3 'stupid' questions early on about deployment and they helped out without charging me any extra.
I use Webfaction, but it's not for everyone (and I get no real traffic).
You get the pricing of shared hosting, but you get SSH access to install stuff in. Combined with the GUI for setting up common apps (Django, etc.), it's pretty nice.
heroku, pagodabox, dreamhost, s3, linode and digital ocean. Each host has their own pros and cons. (Dreamhost for example is slow but they manage everything.) I stay away from rackspace due to issues I've had with them but when they've worked they've worked well.