In reality, the success of a project is measured by how well it meets the expectations of its users. A project that falls below their expectations is deemed a failure, no matter how good the deliverable is in absolute terms. However, like the parent of the child expecting the cheap doll [that receives a more expensive gift instead, yet still cries], go too far and you’ll be a failure, too.
The Pragmatic Programmer, From Journeyman to Master (Andrew Hunt, David Thomas)