Cringely has an excellent column and associated podcast up dated 4/18. His thesis in a nutshell: Most IT consultants don't know what they're doing, and trusting such people can destroy a company. What he doesn't say is that many internal IT departments are no better then consultants.
The fundamental problem is businesses that don't know what they're doing. What is the average duration of employment for someone with a given organization, maybe 5 years? How long does it take to understand all the nuances and tricks, to know what is real and what is merely label? One year, at a minimum.
Now add a level of complexity: how long does it take to gain sufficient mastery to be able to explain these intricacies to someone else? It's the difference between being a student and being a teacher. I'd say another year, easily.
So in a given company, at least 20% of the people don't know what they're doing, and another 20% are probably doing the right thing but couldn't tell you why. Throw in the fact that most of these 40% will not self identify, and it's no wonder requirement gathering sucks!
Cringely cites a successful consultant, Christine Comaford-Lynch:
A key part of her success was her requirements gathering process. She turned it into a very effective collaboration effort involving the key people who would use the software.
Sounds to me like she was good at separating the wheat from the chaff.