Exactly what HeelX said, plus if you comment TOO many lines, your code will become unreadable. You can easily over see small lines of code (i=0; for example) and so on.
I just make comments when i get the feeling that i could forget what this code does. And i often give a comment line to every function/class i declare, just to be 100% sure what function it is.