For what it's worth, I've been using namecheap for over 2 or 3 years now, with around 10 domains registered with them, and I have to say that their service is quite good. The support is capable and promptly responsive. Very rarely, if ever, have I experienced technical difficulties. Even if it's not the cheapest in the market, the service is worth the extra $
The reason I use Namecheap for all my domains is really because of their DNS services. For example, I have a subdomain that points to my home network router. The public-facing IP address of my home network is dynamically assigned by my upstream ISP, so it changes every couple months. I have a script that runs every day that checks if my IP address has changed, and if so, executes a cURL command to dynamically update the A record of the subdomain. Namecheap provides this HTTP API and dynamic DNS capability.
So, you have a good deal of flexibility in configuring the DNS, although of course not as much as running your own DNS server or writing your own zone file.
For most people, however, their DNS services should be sufficient. It certainly is for me.
Gandi has an API, DNS editing in free mode or wizard mode. Multiple versions of zone files etc. Plus they are cheaper than namecheap (at least for .io). And every time I was in contact with their customer service they were helpful and friendly.
I moved all of my domains from GoDaddy to Namecheap. I host my own DNS. Recently, I decided to take a stab at implementing DNSSEC, but one condition is that your registrar must support it[1], and Namecheap doesn't[2]. I'm in no rush, but it's a little disappointing. I have no idea if DNSSEC is an option when Namecheap hosts your DNS. They've also only recently added support for IPv6 glue records. Nonetheless, I'm happy to be rid of GoDaddy and find the Namecheap interface to be much simpler and easier to use (concise email notifications of logins and account changes are also nice, and readable in more email clients than the noisy upselling HTML garbage that GoDaddy spews out).