I've been a consultant for over 10 years. I always make sure to ask for access to any documentation for systems I'll be working on. I think I've gotten significant (out of date) documentation maybe once. This isn't an issue stemming from being open source.
That becomes a lot of work very quickly, so I tend to only get involved in libraries that will quickly hit some kind of stable maintenance mode or in which I have personal stake and thus just need to polish up my own notes for how to get off the ground.
Copying and running code is (effectively) free, developing, maintaining, and auditing code is still expensive. Folks who want to use software without paying the costs get what they pay for, eh?
I feel that if there's anything the community is doing wrong, it's in the emphasis on new and shiny rather than mature and stable. I feel we should be entering a "contractile" stage of (global IT) development, with consolidation and convergence of software and hardware replacing the wild burgeoning and rampant growth of complexity.
"Like, complexity is an existential threat, man..."
Someone working on open source to have fun is more likely to invest their time in more features instead of better documentation.
Here companies or users like you could step in and contribute better documentation or pay the original authors to improve the documentation.
You see where the problem is, right? I'll give you a hint, it's not the developer...
Is someone release code because he liked to code but don't write any docs because that's boring, that's perfectly fine. No abuse there. The abuse is when you requests docs for free.
The entire underpinning of free and open source software is silly: software in this context isn't an academic pursuit producing knowledge that should be freely shared to our collective advancement as a civilization. It's a hammer, a wrench, a table: in short, a product. That fundamental category error made by our community is the source of all the problems with F/OSS, financial and otherwise.