Take an account without the "Critic" badge, upvote a question, immediately downvote it, then immediately cancel the downvote, and you get the critic badge.
Awarded badges are not removed, by design.
Jeff Atwood has mentioned this on a few occasions: "Badges are almost never removed. You do not lose the badge once you have it."
So if, for example, you left 10 comments (Commentator badge) and then deleted one, you would not lose the badge.
I guess the solution would be to require the downvote to be in place for more than 'x' minutes or something, or require loading of a full page (rather than just an XML callback which is presumably what caused it, even though I was just trying to cancel my upvote)
Whilst on the subject, why not have it such that clicking downvote on an upvoted question should just cancel the upvote, and not give you the downvote without a second click? (analogous to a spinner control)
I felt guilty enough about the "extra" badge when it happened to me at SU, that I went looking for a suitably crappy question or answer to down vote for real... and wasn't surprised that I found one before I got bored ;-)
I don't think its a big deal though, just a quirk. The description does say "first down vote" and the erroneous click was on a down arrow so it did make sense in hindsight.
I know this badge is trivial, but so is making it work right, so why not do so? It appears that the application of this badge is currently controlled by a flag that gets set to true the first time a down vote button is clicked. It can never be set back to false even if the user immediately undoes their down vote.
Do away with this flag and have the code that checks for application of this badge examine the down vote count instead.
I had this happen and I did not intend to downvote anything. I upvoted an answer, realizid I had upvoted the wrong one and clicked the downvote arrow as if it were a numeric up/down control. I then immediately corrected the resulting -1 by clicking the control again leaving the question back at 0.
The next day... Critic
Perhaps this should be treated as a bug