Preface: I am a Linux user
The Linux desktop needs to not require users to dig through config files to enable features that both windows and Mac have working by default. Fingerprint sensors, audio interfaces, broken bootloaders that you have to fix yourself. Requiring people to ever use a command line even once will keep people on Windows as the dominant platform.
Every time I have to look at a Linux forum to figure out why something isn't working and the answers are run these commands I am instantly reminded that this is the exact thing keeping Windows mainstream.
Driver support still isn't perfect. Software support as well. Linux needs to ship out of the box running exe files in compatibility layers. Linux needs to adopt executable installers for software packages that can be downloaded on the web. If Linux wants to be the way people use computers, Linux needs to fit the mould that windows has built for the people who have used it for the last 40 years.
Doing anything differently is enough of a deterrent for 90% of computer users. And of those 90%, 75% of them will give up immediately trying to fix anything that doesn't work and either call someone else or decide it's broken and do nothing.
Linux is incredibly powerful and I believe it should be the way we run computers, but I get exactly why it isn't.