brilliant comment in the original post, just in case anybody missed it "When I had my bathroom remodelled, at first I thought it was organized amazingly well and why couldn’t software be like that? There was a designer from Expo, a primary contractor and subcontractors for tiling, painting, etc. a project workbook containing all the documents, including the design, and a logbook for every contractor to record their v…
When you go in to inspect a software system someone has constructed for you, though, you just don't know. It could have a gaping security hole; it may be dreadfully underpowered for your needs - or ridiculously overpowered. And you just can't tell.
And while, if you need repairs on your bathroom, you can get in any plumber and, even though he may criticise the original installer's technique, he can pretty reliably open things up and expect to find things he understands - pipes, for example, rather than, say a system of motorized buckets. But if you get in someone to look at software you've had built then who knows what the original developer will have constructed.
And as a customer of a bathroom installer, you can (hopefully) understand why you can't just have the showerhead suspended in midair with no pipes to feed it; that you can't have an electrical outlet installed actually in the bathtub; that the bathroom is only 8 by 12 so there isn't room to include a hottub. But no such immediate understanding is available to someone commissioning software.
The physicality of real things renders them much more readily comprehended by the user, which means they have a chance to grasp what goes into creating them. But software's complete lack of physical existence means that it is virtually impossible for anyone except its creators to fully comprehend.