The requirement to add a comment was discussed before. The problem with it is that it has to be anonymous for the voting system to work as it does; and then someone can evade it by simply providing "you suck", "." or other worthless "reasons". Bottom line, we're no wiser than before.
I do agree with your sentiment that downvotes should be explained, and while I'm not going to pretend I always do, I make an effort to adhere to that. If I'm downvoting an obvious troll or similarly worthless node, I rarely care to post an explanation, but if I'm downvoting for technical reasons or because I think someone was out of line, I remind myself to be explicit about it - that will both help the original poster understand why they're getting admonished as well as let me know if my own judgement on the matter is approved in the form of votes on my explanation post.
Makeshifts last the longest.