Software is a lot like a building or a bridge: you build to fill a specific need. Once a bridge is built, it is very hard to upgrade or change it. It’s costly and filling the need. Most often, to upgrade your bridge, you build a new bridge and when the new is complete, shut down and demolish the old one. Yes, we can upgrade software, but after a while, change becomes an expensive proposition.
So the legacy software soldiers on, imposing its limitations on its owner until the limitations can no longer be tolerated.
Software can inflict a tremendous amount of damage to a business before the damage is enough to force a change.