See
https://news.ycombinator.com/item?id=25618278
particularly Netscape was a good example now that I am reminded of it. Netscape was coded up by FORTRAN programmers and had a layout engine that was remarkably fast for the old HTML (stupid and smart in equal proportions.)
There was no way to retrofit it to support CSS and I think the W3C and Microsoft knew it.
Tech debt destroys programmers: there is a comment in that thread to the effect that programmers might get fired, but they also quit or go insane. I worked on a project that started when the source code repository for the previous version of the system was deleted by a developer who “cracked”. (Found that out long after I was deep in it!)
One factor is competition: Netscape had Microsoft following in its heels with a better product and the best distribution channel possible. If your firm is in a stagnant market then slow and painful development isn’t a danger to it. If a competitor comes along with something way better, you are in trouble.
A case that fascinates me is the lifecycle of communication apps, remember Paltalk or Tivejo (the fork of Paltalk I helped make for Brazil) or ICQ or AIM or MSN Messenger or CuSeeMe or GoToMeetimg or WebEx? Apps like this always seem to die and get replaced and I wonder what the underlying cause is, technical debt is one of the suspects.