DNS best practices

I can think of two approaches for registering the domain for my Virtualmin server, both of which require a domain registrar:

  1. Configure the records using registrar tools (i.e., define the A, MX, TXT, etc. records)
  2. Create a DNS server using Virtualmin and then point the registrar to this DNS server (i.e., define a NS record)

For now, I am using the first approach. Is there any reason that the second approach is better than the first?

The second approach has the advantage that you have the zone fully under control, can make changes to any parameters to your liking and are not dependent on an external control panel.

Disadvantage is that it depends on your server whether the zone is resolvable. If your server goes down, the zone can’t be resolved at all. Also, for many TLDs you need at least two nameservers with IPs in different networks.