We should document fields, properties, methods, classes, and anything that would benefit from additional information besides the code itself. The sweet spot is to write enough to provide a meaningful idea of the purpose, without going overboard and writing in too much detail or things that are too obvious.
For example, if the name of a parameter already hints the type and purpose, we shouldn't need to provide additional information about it.