1. Engineers who are great at code, bad at UI and UX (unless your tastes are 1990s-2000s styles, you do you, but watch your market share always be niche. Reeducating the populace to see the superiority of your preferences compared to Apple is never going to happen.)
2. Engineers who are great at UI and UX but sloppy at fundamentals - take elementaryOS. Looks gorgeous, but every new release takes a complete reinstall, which is the most user-unfriendly way of doing a basic distribution task.
I’ve just learned to accept that Linux on the desktop is never going to happen.