In the case of web apps, developers get paid to go the last mile - either by an employer or via the market. In the case of Linux server software they also get paid; in this case a Red Hat salary is the most common form. For Linux desktop software, very few get paid. Not nearly enough. OpenOffice/LibreOffice in particular needs and has always needed a ton of work, and almost nobody's paying for it. So it has always been a total tire fire. Random crashes, which then leave a document in a "needs recovery" state permanently no matter how many times it has already been recovered. Formatting and conversion glitches. Features and options that are hard to use even if you can find them among the smoldering dung-pile of other features and options that nobody anywhere has used for years. Staggering memory abuse bogging down the whole system. I'm sure the devs (at least some of them) would love to fix these things, but it's going to be really hard work - often more political than technical in nature - and nobody's paying them enough to go through that misery so they do more rewarding things instead. The result is software that will always lag behind its proprietary competitors in terms of appeal to users - far enough behind that people will actually pay for the difference.
If you want to compete effectively in a market, somebody has to be paid for crossing that last mile, and that means somebody has to do the paying. Nobody is.