The main things that have kept mainline adoption from happening:
- Driver support for new hardware (this is mostly an OEM thing)
- Dead simple tools for regular use, like updates, and printers or devices (Gnome has simplified quite a bit in the past few updates)
- Opinionated UI or package selection. Lots of options overwhelm many users