Mostly privacy. I trust Mailbox.org more than I trust CF+Mailgun. The service worked fine as in no down time (except in March 2024 with CF when Google started enforcing their DKIM policies)
I tried Mailcow because it is a complete solution and has a nifty UI. In the end I never could get it to work prooperly and under the hood mailcow is quite complex.
The solution I currently use successfully is Docker Mail Server. There is no UI, but configuration in files is not too complex. The documentation is a bit lacking in some areas, but so far I was able to get everything to work the way I need it, including fetching mails every minute, using the external mail providers as smart hosts for local shadow accounts, filtering and foldering using Sieve scripts (using Roundcube container to manage the Sieve scripts). I am qute happy with this solution so far.