No it a lot more then that. It’s all your HA config, all your addons config, all data from your addons and everything in your HA folders (besides config that’s also share, ssl, media and addons). Although you can exclude some or all of this
History - yes usually. If you use the default DB option then its a sqlite file in /config and the entire /config folder is backed up. If you use the MariaDB addon (or another addon which provides the DB service) then yes as long as you include that addon in the backup. If you host the DB completely outside of HA then no you’d have to separately back up history.
Log - no. The log is the journal on the host OS and this isn’t backed up. The
home-assistant.log file in /config will probably be included but this is a tiny subset (only core logs and only since the last restart). There’s no way to get your actual logs included in the backup currently, you’d need to handle this separately. See here for how to access your journal logs in HAOS, you could set up a backup strategy using SSH with this.
OS - no. When restoring a backup from scratch you first have to flash the OS. Then you can restore the backup during onbording. But backups are not a flashable image, the OS is not included.
Backups can theoretically cover this? You would have to remember to take one before every change. To my knowledge there is no way to set up something which automatically takes a backup before applying a change to automate this.
I think you might be interested in the git pull addon which lets you manage your config as a git repo. That being said it only works with integrations that are configurable in YAML. Many integrations are UI-only now and those can’t be managed this way. For those if something went wrong you can only really revert from backup and that’ll revert back to whenever you last remembered to take a backup.
Backups are your closest thing but as I said it won’t cover OS or logs. For OS images of older versions are still accessible so you should always be able to flash what you had. But logs you’d have to deal with separately.