The main problem of Linux on desktop is a severe lack of quality control and questionable usability pushed by people not using desktop and running mainly CLI. The issues addressed on desktops are not in correct priority, you should not polish "happy path" in the generalized public system. Corporation can easily work with "happy path"-only software because they can afford to train personnel, and they can afford to fix mistakes in systemic way. Generalized public system should not polish what is mostly working. It should eliminate low occurrence catastrophic failures, because when scaled to ten of millions those low probability failures tend to multiply a lot.
That's why I use console Linux every work day and enjoy it, and that's why I wouldn't touch Linux on a desktop with ten foot pole, because all my experiments in that area failed sooner or later. Also (surprise) shell Linux knowledge almost doesn't scale to the debugging GPU drivers, DE and X server issues. This is actually rather disconcerting feeling, when you have a decade of Linux experience but you look at crashing desktop GUI and understand that you have approximately as much understanding of the problem as a first time user.