Usually when you write code you want to leave comments in there explaining exactly what you're doing. Where certain things/objects start and end, breaking things into sections, explaining why exactly you used a certain method, or how you solved a particular problem.
That way if you go back into the code 2 years later, you know what you did. More importantly if another developer goes into your code, now they know exactly what they are looking at.
When working collaboratively it's a must.
It's not uncommon for programmers to take two completely different approaches at solving the same problem.
I know when I go back into my own uncommented code sometimes I'm like
and then a few hours later I'm like