There are also state inconsistencies on servers. Configuration files are not updated correctly (maybe even with a silent failure), binaries are not updated correctly, temporary files left over interfere with the update, cached files do the same, etc.
There are many reasons why resetting the environment on deployment is a solid and cost effective solution to many issues.
Many mistakes are made against databases; maybe you can roll back, maybe you can't -- either way, it's cheaper in testing than production.