I have been working on adding reasons for badges to the SO codebase.
During this work I have come over a few edge cases:
Some people have badges multiple times even thought the badge should only be awarded once: http://odata.stackexchange.com/stackoverflow/s/283/wrongly-awarded-badges
Some people were awarded a badge that is no longer applicable, for example awarded a Great Answer for a an answer that now has 99 votes.
What should we do in each of these 3 conditions?
What should we tell people when browsing through badges when we can not determine the reason? (In dev I have it say "Reason not available" ) but that is not really working for me.