Being retired from ~40 years in IT system programming, I use old school methods to maintain an original distribution media archive of all software that I’ve licensed and/or installed. This enables me to easily reinstall, revert to a previous version or use an unsupported version in a virtual machine running an older macOS. (Snow Leopard for example:-)
Occasionally this archive needs to be curated as it’s really not necessary to keep all versions. For example, if a new feature is introduced in an application, followed by 3 bug fix releases before the next significant change, the new feature introductory release and first two bug fix releases aren’t really needed. Only the 3rd bug fix release is significant.
A version history is invaluable for maintaining this archive. It’s also useful in determining whether or not to update software.
Incidentally, I also archive OSs and iPhone applications in the same manner. Having the IOS archive is the only way to revert to a previous version of an iPhone app using Apple Configurator 2.