I can come up with single advantage and a few disadvantages. The advantage is the option of using a domain for multiple purposes - e.g. if you want to send from example.com instead of campaign.example.com
You will have a number of existing DNS records, which you will want to keep, like an A record for your website, MX record for your Exchange server. In this case delegating entire example.com will not be possible.
Normally, I would not recommend self hosting, as it is complex and trying to pick and choose which DNS entries to make/adjust could break the DNS authentication or functionality within the application. In addition, each Marketing Cloud client is likely to be using a different domain host/registrar, so there’s never going to be specific instructions Salesforce can provide you on how to configure your domain for use on multiple platforms.
As a result, little or no support can be provided by Salesforce for configuring DNS records when choosing to self-host.
There could be a need for changes to be made to the DNS entries. If Salesforce adds or changes something in their end, the self-hosted DNS entries will need to be updated.