You pointed out the answer yourself `I know lots of developers don't like writing docs, and I'll agree it can be tedious work.` As programmers we enjoy writing code, very few of us also enjoy writing documentation.  
 
While any good coder knows the value of good documentation it also takes a fair amount of time to do properly. As its not enjoyable and takes a long time it gets put in the "to do later" pile so never gets done to a satisfactory level. 
 
As a side note its also very hard for a programmer to  write documentation on their own product. As they know the system so well certain things are obvious to them. These parts often never get mentioned despite not being obvious to the consumer.