In that light, I'd like to suggest our first cardinal virtue of programming to be Clarity. Often, this virtue will seem at odds with the second virtue, Elegance, but that is an illusion. One problem with Clarity and the practice of commenting code is that it goes against human nature. When you're in the midst of solving a problem and experimenting with different solutions, there doesn't seem to be any need or time to comment the code. Later on, there's a new challenge to be met and commenting the code recedes in importance.
Programmers are as susceptible to the sin of procrastination as anyone else.
That's an explanation, not an excuse. Perhaps the greatest example of searching for clarity of code comes from Donald E. Knuth. His book on Literate Programming explored the idea of melding documentation with code years ago. To some, he seemed to be taking the idea to an impractical extreme. But the goal of making code easy to understand is still a worthy one.