Well the comments I do mainly are for auto generating documentation (I'm working on a template project).

All other comments are for my own understanding. I have coding guidelines, naming conventions and pick meaningful names, but still I explain some algorithms with comments because otherwise I would not understand anymore what I'm doing there.