To the average user, the linux interface is inconsistent, the documentation is poor, and setting up hardware is a major chore. There is no consistent way to set up drivers that doesn't require editing config files and browsing through man pages. Applications also don't play well together. Things that should be easy are not easy. In short, the community doesn't really have standard ways to do things, everyone does their own thing.
Some of the reasons people switch to linux because its a stable operating system, or a better server platform, or because there are many more developer friendly tools. All of these are good reasons for technical people, none of these are good reasons for the average person.