One of the reasons users get frustrated with software is the inane error messages we programmers inject into it without consulting a sensible psychologist. This is the reason a lot of people have no clue what went wrong when something does go wrong - a stacktrace may be useful to us, but is garbage to the user. This is pointed out aptly in this comment.
Recently I was watching the demo video of an Enterprise document management platform - Documentum. The product video shows odd error messages and things you cannot do rather than things being simple, sort of product I would flinch from spending millions on.