Let me add some reasonable insight after using HA OS for 2 years.
I have been running everything as an Addon (MariaDB, zigbee2mqtt, node-red) and told myself all is ok because I have snapshots (stored remotely on GDrive).
That goes fine until it doesn’t.
Within the first year I’ve had come to the point of having to restore from a Snapshot after doing Updates.
On disaster recovery you quickly notice just how minimal and limited HAOS is as soon as you drop to the shell
(that you will have to enable first).
Now since I also used HACS I stopped doing updates, because I couldn’t afford to spend any time doing that again in the following months.
That was last december (2021)
Now just recently also out of the blue somehow my supervisor got upgraded to the latest version.
I don’t know if its related to it or not (or if it only happened after emergency repair tries) but my frontend became unusable (nothing in the logs) and my DB quickly grew twice the size within a month.
All fine I have plenty snapshots, right?
Well … no.
Even with a clean install on a VM and a restore with those same snapshots everything behaves the same - the frontend will become unresponsive and unusable.
Now I could spend a very long time trying to read the logs what the heck is happening / how and if I’m lucky find a way to fix it to get back a running system.
Conclusion:
The pain is much smaller if you host important bits of pieces like MariaDB, zigbee2mqtt, mosquitto, node-red in seperate VMs/LXC-Containers/Bare-Metal where you can just drop in to an emergency shell to do maintenance properly.
Yes you will have to have a seperate backup/snapshoting strategy - but this will also enable you to purge the HA VM more easily or to restore snapshots without losing any data as well.
TLDR: Would argue strongly against addons unless you enjoy having to re-setup everything again when things go south (and they will)