The computer industry is full of people who fail or are unwilling to communicate their thought processes and these people have been relied upon to develop important and widely used software.
  During the seventies there was an enthusiasm to communicate with each other about ideas and innovations in computer technology and again in the infancy of the internet.  Now there is a lack of enthusiasm under the corporate structure where people are forced into the drudgery of coding and find it difficult to make the extra effort to effectively communicate.
  Even back in the days of NASA, when America was rushing to master new technology, there was a mind set that 'job security was being the only one who knew where you put it.  knowing where it was or how you did it'.  Documentation seems to follow the same creed.  If an employee works hard developing a process or a routine,  the more complex and bane they can make their description, the more they'll be relied upon to translate.  Sun Microsystems seems to be a good example of how people used the corporate verbage to cement their job security.  Sun had an excellent tool for systemizing documentation and employees relied on it, easily.  When the java doc tool for creating and api document, there's no need to go into extra detail.  Descriptions are dry, terse and difficult, or almost impossible, for the novice or hobbyist to use.