I usually compare on what I think a comment is worth and what it has at the moment, and then vote to make the `is' closer to the `should'. At least for upvotes. In generally I only downvote stuff that lowers the quality of discussion.
It would be interesting if we had a voting system, that worked a bit like eBay's `bidding agents'. I.e. a system where you vote by setting a target score, and the system casts an up- and downvote as necessary. Of course we would need those base-votes to be recastable (but only automatically).
The current system is a special case of this, where the target score is either plus infinity or minus infinity, and you can't change the target score once set.
P.S. Please forgive my off-topic ranting in this discussion about K&R.