Writing anything well is hard.<p>Writing a good documentation for a function is as hard as writing that function and the skillsets are orthogonal, so the programmer, who for some reason also writes the documentation for the program, does not appreciate the difficulty.<p>We are left with good documentation as a fortuitous product of coincidence where programming ability and writing ability intersect.