The main problem here is that houses and software have wildly different marginal costs It is "a" problem, I'll even admit a major one, but it's not the main problem. The main problem is the expectation of continual customization and improvement at the input of the customer. Imagine if houses were built by you contracting with the developer, and after the initial blueprint and plans were agreed to, every two or 4 week…
We can have that in software too if we want it and work for it. But it requires building a ton of alignment among customer service, sales, design, construction, and executive staff. Everybody who talks to the customer has to know what to say and how to direct requests. Everybody needs to know what they can say yes to easily and what has to get estimated, approved, and charged.
But that in turn requires extremely skilled and disciplined management, something our industry is not oversupplied with. The Agile movement gave us tools to make that work (CI, CD, good testing practices, refactoring), but that only works in a particular envelope of management competence. Outside of that, it's GIGO.