1) Use the DNS server of the registrar. In this case I add the A and MX records of my dedicated box to the DNS server of the registrar. Two of the three registrars support this, the third one only supports this if the websites are hosted with them on a shared hosting package, not with a dedicated server somewhere in the field.
2) Setup a DNS server on my dedicated box. I have done this before on intranets, so technically this is no problem for me, but I am affraid that when the box crashes, also the DNS info will become unavailable.
3) Use a third party DNS service which manages the DNS entries and--in the perfect situation--has backup DNS servers at more than one geographical location.
What would you recommend me? Please don't recommend specific companies. I would like to limit the discussion to these three methods of DNS management, rather than talking about good or bad experiences with specific service providers.
If you have a dedicated box, most Colo and IP transit providers would usually provide backup DNS services at no extra cost to you. If not, have someone else (a friend?) remotely mirror your zones on his/her servers for you. Setup for doing is usually quite easy -all you have to do is add that remote host to your list of nameservers authorized to pull (zone xfer) your zone data over.
It is usually a good idea to use multiple dns hosts that are on (geographically) disjoint multihomed networks.
Now I have to find that friend with a dedicated server... :)
This may not effect 99% of webmasters. But if you are running a commerce site, and you are doing significant business, you will want to have backup.
Even a more modest site may want to provide a "the server is down" message on an alternate server.
Many third-party DNS hosts have a monitoring service, that peridically checks your site to see if it is active. If it is not, it can automatically switch to a backup server.
There is another option (that I still don't recommend...) that hasn't been mentioned. And that's to use your own server (maybe your web server, maybe some other server) as the "master", and have secondaries, where the master is NOT one of your registered nameservers. It's "hidden", and not used for resolving names, but is the source of data for your actual nameservers.
The advantage is that you are not limited (as you might be in some cases) by a third-party user interface that may not include all record types or options, and you can switch from one secondary provider to another without regard to their user inteface. (Learn how to work your own config files once, and not have to re-learn if you switch.)
The secondary servers could be mutual agreements as suggested here earlier, or commercial DNS providers. The latter usually have this as an option, often at a lower price.