I must admit that I'm very slack at commenting code - unless I'm writing it for someone else, or I know someone else will be looking at it! I do however often go back & refactor code - generally for one of two reasons:
1) I am having a performance issue with something & need to make it work better; or
2) I have learned something that makes me realize the way I initially wrote the code was not the best.
I'm a firm believer in the "if it ain't broke, don't fix it" mantra & the fact that there are always multiple ways to achieve a result in code (the old "more than one way to skin a cat" saying), but I also recognize that sometimes I don't always "skin the cat" in the best way the first time...
- Colin.