So I work for a large enterprise type software with a database. And because our installer is trash, we don't trust clients to do it. It's very common for the installer to error out with SQL error messages and we have to go fix things in the database. Think stupid things like if a value is null in one field, installer crashes.
So they call in, get paperwork for a test upgrade (we require they upgrade a test database first), then after they email that paperwork and it's approved by management, the call to schedule the test appointment happens. Then 3 days before the actual appointment, we can call them and transfer via Bomgar the files they need. Because we don't wanna give them the needed files early for... reasons never explained properly to me.
Then the actual install/upgrade call happens.
Then we do it all over again for the live.
Welcome to corporate policy that's been building over 20 years, and never cut back. Things get added to the install process, never removed.
Well for the same reason lots of not great software is used.
It was once the best (or only) in the market, and now it'd cost literally millions of dollars to change in training/conversion/hardware changes. As long as we keep above the "We cause less damage than a change costs" folks stay.