POD headers for a module's interface are always nice - describing stuff like assumptions (preconditions) and guarantees (postconditions) of functions. Otherwise, I try to write code that doesn't need much commenting. Well-chosen symbol names, common idioms, and a consistent coding style that errs on the side of whitespace are far more valuable than comments that tell you what each line of code does (or more likely, what it did eight revisions ago when the comment was written).
Found a typo in this node? /msg me
% man 3 strfry