Well, I agree with your point that the code should be self explainable. But, if we can add comment it can help us go through the code in less amount of time. And, if you will just hand over your code to other without proper commenting then that person can take good amount of time.
Well, yeah, it also depends on person to person. Not everyone is much sound in coding and that's perfectly fine, they might be good in logic building or any other activity.`