Earlier quoted context omitted.
Software development is very different from building physical structures. "How much is it going to cost to build my house?" "Give me the blueprints and tell me your finishes." [Waits on client to provide specs...]
What's the difference? "How much is it going to cost to build this application?" "Give me your specifications for the app." [Waits on client to provide specs...]
Often clients can't produce specs sufficient to build an application. Some clients may produce 'specs' which are incomprehensible, making them impossible to estimate.
The crude part is, that such projects may still go on, and worse, the client may believe that the application is actually being built to the specs.