Consider the following case using Alpha 1 and Beta 6 for the sake of argument - it really applies to any increasing versions:
1. Install VaultWiki 4.0.0 Alpha 1.
2. Uninstall VaultWiki 4.0.0 Alpha 1, but leave files in file system.
3. Upload VaultWiki 4.0.0 Beta 6 to file system.
4. Attempt to reinstall.
Because VaultWiki scans the file system on install, this not only has security implications (which is handled here:
https://www.vaultwiki.org/issues/2575/), but Alpha 1 may have had database tables, alterations, inserts, etc that were since removed in a later version. VaultWiki will automatically try to make the changes because the files still exist, and may end up with database clutter, or database errors during the process.
This can be fixed by maintaining a list of $removed_changes in each Install_DB controller so that if the files still exist, they will be ignored.