Software without a design can very quickly grow into an unmanageable mess
Making changes to this mess or even maintaining it in a working condition can be a costly and time consuming exercise. I have recently come across two applications whose owners refuse to work on them any more – for fear of upsetting something and then never to work again. These are strategic applications, not just tiny insignificant bits of code.
In both cases, the companies can’t move, they can’t afford to re-engineer them – they are stuck.
A good design and some guiding principles can prevent the mess happening in the first place. It can even be retrospective to un-stick the project – so to speak.
I use the analogy of a building – very few would build a house without a design. And software can be far more complex than a house (and sometimes more costly too). You live with both.