I've used a few registrars over the years in different ways.
About 10 years ago I used pair.com because they also had PHP hosting and that's all I knew at the time. I did little with them.
I think for a very brief period I actually used godaddy for one or two domains.
A few years later I used gandi.net because they were "no BS" domain name registration, which I think was a direct reaction to having a hard time using godaddy. I mostly used it to point to custom slicehost servers. Later I also configured the DNS to point to github pages. Since they're in France, there's an extra step and extra few minutes before you get your domain names approved.
A few years after that I started using namecheap instead, and still use them. They give me the same amount of control as gandi.net but with a simpler (less confusing) interface, and they're in USA so they don't have the same delay that gandi.net has. I've pointed them to EC2 instances but mostly to github pages.
Recently I experimented with buying a few from Route 53 on AWS, mainly so I could see if it was all that big of an improvement to have everything on AWS. For some reason I'm getting charged like $2 every month for some (or all?) of these domain names, and it's a charge that's slightly annoying to me, mostly because I don't really understand what the charge is for (I think they said some sort of DNS routing fee or something?). I did like the integration with other services that Route 53 gave, but the flexibility and customization needed to get that integration working seemed like overkill and was definitely harder to figure out than the other services. Again I've used them successfully with both github pages and EC2.
Personally I would go with namecheap if I had to buy another domain name.