Really? So even a simple method that just load some stuff into a hash and then returns the value that matches the key it was given should be commented?
At some point the code is so simple it comments itself.
Sure, because then the next coder, instead of saying
"Huh? Why is he filling a hash only to return a single value?"
"Oh, that's what he was trying to do. What a kludge. I'll fix it."
An otherwise competent writer may still not know when to use "which" vs. "that", why not to use a comma splice, or when precisely to use "whomever", and as a result may not see the value in following those grammatical rules. Someone who knows when to use an apostrophe, when to use "they're", "their" and "there", and when to use "John and me" correctly might consider themselves perfectly competent even without knowing the difference between an em-dash and an en-dash, or when to use a semicolon.
There arrives a point when one deserves a brand of linguistic competence but may not actually be perfect. Then there is the issue of style guides; When do I use numerals? When do I uppercase the first letter of words in titles? To serial-comma or not to serial-comma? Broken parallelism, anyone?
What, indeed, is perfection?