This is especially true when you start vibe coding critical systems that human life depends on.
Emergency services, hospital infrastructure, financial systems (like Social Security, where a missed check may actually mean people starve) are all places where you don't want to fail because of a weird edge case. It also feeds into fixing those edge cases requiring some understanding of design in general and also the design implemented.
Then there's the question of liability when something goes wrong. LLMs are still computers right now: they do exactly, and only what you tell them to do.