We’ve always know what users say and what they do are often not the same.
There are many reasons for this phenomenon. According to Jacob Neilsen, users make up stories to rationalize behavior, and they are pragmatic and concrete (they can’t imagine how something that doesn’t exist is going to work).
I would like to add one more reason to Jacob’s list: People have an uncontrollable urge to please; they naturally want to tell you what they think you want to hear.
According to Neilsen, users shouldn’t tell you how to design something (pulldown vs radios, black vs red, etc), instead, user interviews can be most “useful when you want to explore users’ general attitudes or how they think about a problem. After getting this info, it’s your responsibility to design features that address the problem (and to test prototype designs of those features to ensure that you got them right).”
Read the whole report, it’s pretty good!