Obsidian has many different components making up the whole. Let’s just broadly categorise them into parts a & b.
part a : Shared stuff not unique to obsidian
part b : Stuff that makes obsdian what it is
Obsidian’s self update only downloads part a, and doesn’t update part b. This is usually fine because that’s the only part changed in the update. So just keep the auto update on and stop worrying about it.
However, sometimes the devs make it so some changes in part b depends on / benefits from changes needed in part a. In this case you’ll get a clear label instructing you to download a new installer (from obsidian.md)
tldr;
Keep auto update on
If you see a clear label telling you to get a new installler, download from obsidian.md
If you are feeling fancy, download a new installer every time a major version changes regardless
The 2 specific examples of its components I know of are mermaid.js and mathjax. Even when they release a new version, Obsidian may not get it immediately. When they do update those components it requires an update to the installer.
If the new update doesn’t help your workflow, maybe you could set up a package manager that automatically updates your installer for every update perhaps?
For windows something like UnigetUI, if set to auto update, will always update your installer regardless if it’s needed (can be an issue of data usage is limited).