I was once tasked with building a web app for a real estate company. The ultimate stake holder (can't remember his title) told me as we were wrapping up a requirements gathering meeting:
I don't know what I want, but I'll know it when I see it.
I was still too green to know that I should have run for my life after that statement.
Really? When I hear that I think I think "You Beaut!"
A customer who wants to pay you to mess around with new ideas and come up with something great. Nothing more boring than client that knows exactly what they want.
Even when customers think they know what they want, they usually don't. They lack imagination and an analytic mind.
Customer wants A, B and C. You point out that A and B collide, and offer a solution, D. Customer insists on A, B and C. You tell him again. Customer insists on A, B and C. You create A, B and C. Customer realizes that A and B collide and that A, B and C are really not working as imagined. Customer blames you. You present D again. Customer caves in and orders D, as a replacement for A and B. Customer blames the additional cost on you and is unhappy.
Customer wants H, I and J. You tell him that he wants M, N and O. But that M, N and O cost twice as much as H, I and J. Customer is furious. You want the business. So you build H, I and J. Customer realizes it's not working. Customer blames you and is unhappy.
Customer wants X. You ask him why. Because of Q. You realize that the customer would need E instead of X. You offer X but you build E instead, because it's possible within the same budget and time window. You relabel E to X. Customer is happy. His vision worked.