Coming from a 10 year veteren in consulting for orgs ranging in size from 3 people to federal departments.<p>Most of the time there isn&#x27;t any budget left after they have a functional app for cleaning things up. Despite impassioned hand wringing the client will place value on things they can see over things they can&#x27;t. So any budget left over will almost invariably be directed toward additional features and not on proper engineering.<p>Sad but true.<p>Speaking to your points there&#x27;s also the problem of not being able to see the forest through the trees for developers who have been with a project from the beginning. So large refactoring endeavors can be less obvious to them. They may also have fatigue and be less willing to rewrite everything. This combined with budget pressure is all it takes for the bloat to stick.