I have to agree with reason #2, it’s amazing how IT people treat people who can’t use their system as inferior, with somehow lower IQ. How many times have you approached a developer for a change request to make something more usable/understandable by the end user and you get an arrogant reply on how dumb the customer is, while, in fact, as you said in #1, normal people do not think like IT (and vice versa). When developing a project, it’s always good to have someone with no IT skills whatsoever to test the functionality.