It isn't hard to write good documentation. It just takes time.
Good documentation IS hard. That's why there is so little of it.
The biggest problem is that so many FOSS coders can't think of anyone apart from themselves and only care about the fun part - not all the stuff that needs professionalism. They are unable to put themselves in the position of another human being, approaching their "baby" and they have no comprehension, whatsoever, of the assumptions they are making or what they tacitly expect the reader to already know.
As an example, there are many - maybe even the majority - of FOSS websites where the entry page has no explanation at all of what the program / app actually does. Instead of a simple description of: "FlungerMunger is a tool to help Mungers do their flunging", it contains news about what's changed in the new Beta version, or lists of bug-fixes and doesn't even bother mentioning what platforms the software runs on or who would possibly want to use it.
Far too many developers assume that once the source code is tossed over the wall to the user community, the job is done. In fact that is usually the simplest, most trivial part of producing successful software. The hard part which takes the self-discipline is beating that code into a usable state: a job that sometimes the FOSS distros will pick up - but mostly never gets done at all.