Programs are not supposed to update themselves, but some like Telegram or Steam annoyingly do.
One example: when Firefox decides to integrade a keylogger it is very unlikely you will find that release on your Ubuntu installation.
But in my experience Firefox is updated very soon after official releases.
In fact across the board Linux machines in many enterprises are more likely to run outdated and possibly vulnerable software.
Most distros have different update channels so that you can install security updates without feature updates. Tools like unattended-upgrades make it trivial to automatically install daily security updates. You can then manually install other updates at a later time if you're concerned with breakage.
* Snap Apps => centralized, the snap-system updates the apps on a regular schedule
Traditionally on Linux there was only the system-package-manager to update the system and applications. Snaps are confined (unless declared --classic) and allow to have a stable base-system and up-to-date applications.
PS: Can't say much about how snaps compare to macOS.
There are five ways to have update software on Ubuntu Linux these days:
* Ubuntu Store (snap).
* Via Flathub (flatpak).
* Official deb repository pool (apt-get).
* Community maintained PPAs (apt-get).
* Other, tools like appimage, nix, linuxbrew etc. etc.
If you are not fan of terminal tools, sometimes "Software Updates" popup will appear to ask you if you would like to install new updates.
By default there isn't any self-update enabled (please correct me if I am wrong), though it is recommended to configure automatic updates of unattended-upgrades [1]. In my experience 17.10 were asking about installing updates when you were shutting down or restarting OS.
[1]: https://help.ubuntu.com/lts/serverguide/automatic-updates.ht...