The success of a development project, or software implementation depends just as much on involvement from the customer as it does for the developer or provider.
In the enterprise, this means setting up a project consisting of stakeholders from which you can gather information, get integration assistance, etc. In the single-project bespoke software or web development arena, it's even more important that the customer is able to provide good feedback, offer and direct according to their vision, etc.
Back to the steak analogy, what would be the remediation for the customer yelling "More salt! More salt!" and then refusing to pay when the final product is too salty?