If there's one truly fabulous thing I can say about Gandi, it's that I have had absolutely zero issues with the actual stability and performance of the service since I switched my domains to it several years ago. I've never once worried about an error or an outage. Everything works exactly like it should.
It's nice to use a domain registrar that doesn't try to shove extras and add-ons down your throat, and doesn't try to use sleazy marketing techniques to get business.
Unfortunately, Gandi's user experience really does not match up to its fantastic performance. The administration interface is quite confusing and cluttered, and it's often hard to find what you want. While all the features are there if you look hard enough, some of them are buried pretty deep.
The account system feels very archaic. When you sign up for a Gandi account, you can't pick your username, you are assigned an alphanumeric "handle" that you must use to log in. I can never remember it, so I always have to go digging to find it when I need to log in to manage my account.
Billing is a confusing process involving prepaid accounts and reloading funds from bank accounts, and because they're an international company, you'll pay fees associated with that if you're based in the US. Pretty much every year around renewal time I've had some sort of odd difficulty with billing, causing me to fly into a panic thinking my domain might get cut off. On top of all that, Gandi is more pricey than competitors with no sign of reducing costs.
I moved to Gandi on the recommendation of a friend, but I would likely move off of it if not for the hassle of domain transfer.
Gandi is a fantastic service that gets the job done, and that's saying something in a world when many services are unreliable with lots of downtime. It's just unfortunate their management interface and billing is so poor.