Should we host our own nameservers?
Yes, and you should also use one ore more of the big 3rd party DNS providers. A hybrid solution is likely the safest long term approach for multiple reasons, especially if you are a business that has any manor of SLA or contractual requirements to your customers. Even more so if you are b2b.
If your master DNS servers (hidden or public) are your source of truth, then you protect yourself operationally from getting locked into vendor specific capabilities. Once you start using their nifty features that go beyond basic DNS, you may find that switching to another provider or hosting your own DNS is problematic, as you now have to replicate those capabilities. Examples would be the site health checks and DNS failover that Dyn and UltraDNS provide. Those features are great, but should be considered one-off's and not a dependancy. These features also do not replicate well from provider to provider.
If you have only 3rd party vendors, then your uptime may be impacted when they are under a targetted DDoS attack. If you have only your own DNS servers, then your uptime may be impacted when you are the target of a DDoS attack.
If you have one or more DNS providers and your own distributed DNS servers that slave to hidden master DNS servers you control, then you will ensure that you are not locked into a particular vendor and that you maintain control of your zones at all times and that attacks must take down both your servers and the one or more major providers that slave to your servers. Anything short of that will be a degradation of service vs. a critical outage.
Another advantage of having your own master (ideally hidden, unpublished) servers is that you can build your own API and update them in whatever manor suits your business needs. With 3rd party DNS providers, you will need to adapt to their API. Each vendor has their own; or in some cases, just has a web UI.
Futhermore, if your master is under your control and a vendor is having a problem, then any of your slave servers that can still reach your master will get the updates. This is something you will wish you had after you realized that having a 3rd party as your master was a mistake during a large DDoS incident and you are unable to change any of the servers on providers that are not under attack.
From a legal perspective, preventing vendor lock-in may also be important for your business. For example, Dyn is potentially being purchased by Oracle. This puts them in a unique position to gather DNS stats on all of Dyn's customers. There are competitive aspects of this that may introduce legal risk. That said, I am not a lawyer, so you should consult your legal and PR teams on that matter.
There are many other aspects to this topic if we wanted to dig into the weeds.
[Edit] If this is just for a small personal / hobby domain, then 2 VM's that are not in the same datacenter as each other, running a small DNS daemon is more than enough. I do that for my own personal domains. It was not clear to me if your domain meant a business or just for hobby. Whatever the smallest VM's you can get is more than enough. I use rbldnsd for my domains; using a very high TTL on my records, as it takes up 900 KB of ram and can handle any abuse people throw at it.