People, in general, create cognative models to explain the behaviour and operation of complex systems (such as software). Now, since most users don't have a clue to what's going on inside the machine, they're models tend to be a bit flawed. These flaws are exaserbated by different software behaving in different ways. Since software doesn't do what people expect it to do, they get confused.
On the other hand, people who understand how computers and software works have a good, and more accurate cognative model. Therefore, they do not feel that the systems they are accustomed to are arbitrary or inconsistant in nature.