Not at all. You are actually very correct to say: "the biggest hidden flaw is to assume that the users actually know what they are doing and why." I was attempting to make a humorous statement along those lines, but my eloquence eluded me. I have often suggested that the first thing to do after getting a program to work, is to find someone who can break it.
Have you ever had one of "those" days where you suddenly get the giggles on a topic and can't stop?
One day maybe 35 years ago, I was in an office where we were in the midst of a new-product design that was a massive upgrade to our then-standard product. We were brainstorming on testing, and the topic of "end users as testers." The subject came up as to whether we could hire a tester, but then the discussion veered into left field when we started talking qualifications, including how we would advertise the position. In rapid succession the comments came....
"Lets run an ad: Help Wanted - Fool to test fool-proof programs."
"Yes, but what fool would apply for such a position?"
"Not only that, but what fool of a manager would HIRE such a total fool like that?"
"During the interview, how would we establish how big a fool we found?"
"If we offered a low-ball salary, do you think this fool would be big enough of a fool to take the job?"
"But then if the person was a true fool, the asking salary would be bigger than the company president's salary."
... It took us about fifteen minutes to recover from the giggle-fest we started. Never did decide on how to advertise for the position. In retrospect, I think we had just been a bit too tense, but it was a really good moment.