- No will to create decent documentation
- An assumption that not only will you be familiar with the internals of Linux, you will be familiar with the internals of the tool that you only just picked up
- Fancy graphical interfaces that actually don't help you at all
Until developers think in terms of usability, the approaching time of mass adoption will never, never, appear.
As a case in point, I have this article about one man's attempts to set up CUPS. I personally have been exposed to a similar task in CUPS and even with instructions from someone who's already done it, it wasn't nice at all.
I'm sure Sarah will have a cunningly persuasive rebuttal, but you know it's all true really :-P