Even better than documented code is code that's so clear it doesn't need explanation, with occasional comments explaining the complicated bits.
The other case is API docs for libraries and frameworks meant for external consumption.
The other case is API docs for libraries and frameworks meant for external consumption.
Commenting what code does -- is either 1) pointless or 2) indicative you should rewrite your explanation-requiring code in a more straightforward fashion.
Programmers take code seriously. Most don't take comments seriously, even when they believe they ought to. You might say they're bad programmers, but I don't think it's that simple. I think the attention goes straight to code for a reason.
Braces (in relevant langauges, like C and Java) are even better, because they tighten scoping and avoid unintentional variable re-use.