My experience of this is there are a few categories:<p>* Some companies have absolutely no in-house tech staff to speak of, and so they want to invest in technology exactly once and never have to deal with it again.<p>* Some companies have in-house tech people, but are entirely marketing&#x2F;sales driven with little or no input from the tech staff. So they focus exclusively on writing new features and never clean up technical debt.<p>* Some companies choose a platform to bet the farm on, develop a huge amount of in-house code for it, and then realize that since they wrote it for specifically the exact version of the platform they first installed, any upgrade involves a complete refactor&#x2F;rewrite, which they then dismiss as too expensive.<p>The first case can be solved somewhat by subscription-model managed services where the upgrades just happen at the discretion of whoever&#x27;s managing the platform.<p>The other two are failures of management and planning, and absolutely should be laid to rest at the feet of the management staff involved. Preferably in an expensive way, <i>pour encourager les autres</i>.