Will I need this again?
If the answer is absolutely not, don't bother, if the answer is 'yes' or 'I don't know' safe is better than sorry..
The most important things to document are high level stuff how the system as a whole operates so that a person that is new to the company can quickly place their work in context, and then lower level stuff that helps them with the actual work.
For instance, interfaces, boundaries between systems and subsystems are very important to document, as is the function of various modules.
Internal libraries deserve a solid section of their own.
It is very hard to give you an exact guideline here, but your gut should tell you for the most part whether something needs documentation or can stand by itself.
A good rule is probably that documentation serves to increase understanding, if it doesn't do that you can leave it out.