-
It is all about solving a business need. If you can avoid developers and find a solution off the shelf then great, but there are a lot of niche business needs that need that iterative process of development which costs a lot of money, takes a lot of time, miscommunication of needs (inevitable when the programmers are not subject matter experts) etc. The programming itself is easy. Solving the business need in a way that end users find intuitive is hard as you effectively have two teams of specialised people who need to learn from each other and build a solution.
I thought the basic concepts of software development are that it takes three times as long and costs three times as much as seems reasonable, and doesn't actually work very well in the end anyway.