Oh yeah. A lot of times someone comes in and just break it because they didn't know WHY. Althought usually a good Unit Testing can prevent that.

I usually comment block by block to explain the purpose of each block. So I would know a general implementation flow of a particular method.