To document is often considered unnecessary for one’s time. Let’s face it, developers think “code”. Documenting code is an extraneous after thought, tucked in at the end to meet customer acceptance criteria. This is conveniently referred to in management parlance as “just in time.”
If we were back in the Middle Ages, a developer would be considered a wizard. Somebody doing strange, magical things. Somebody to be feared, and maybe burned at the stake. But a scribe could translate that wizardry for the masses. The developer would be revered as a craftsman, an expert in one of the guilds, pursuing the king’s business, rather than something mysterious and evil.
Of course, most people couldn’t read or write back then. But by combining scribes with publishing (thanks to Gutenberg) the masses became educated people of the Renaissance with an enhanced view of the benefits of the developer’s code.
Today, developers are experts, SMEs. They continue to be so thanks to the support of writers who translate how to use and benefit from those sometimes mysteriously cryptic offerings left by those guilded developers.