Using a host of algorithms, Duplicate Annihilator scans your entire iPhoto library (or selected photos) to detect for duplicates. By default, it does this by comparing the photos' MD5 checksum; however, the photos' CRC32, Exif, file name, and photo dimension information can be enabled for comparison as well.
After finding duplicates, Duplicate Annihilator can perform a host of actions. One is to add a comment to the photos' "description" field. And it can do this to originals as well as duplicates. While users can choose to replace existing content in the field, the safer method is to append to the field, rather than replace it. So, say you have a picture with "Mary getting Carl Weathers' autograph" in the description field, the duplicate of it would have "Mary getting Carl Weathers' autograph-duplicate" instead.
And then there's the Popeil Showtime Rotisserie oven option, which allows for a "just set it and forget it" means of ridding yourself of duplicates: you can move duplicates directly to the trash. In addition you can also set Duplicate Annihilator to empty your trash. That's right, in just several installments, your duplicates will be completely gone. But, unless you're the daring type, you really shouldn't select this option.
As in most situations like this, user discretion is advised. In other words, backup your library before doing anything of this sort (you'll find it in ~/Username/Pictures). Because, as the old saying goes, a picture is worth a thousand words. And this being the case, permanently deleting pictures may result in several thousand unwanted words hurled your way.
Duplicate Annihilator is shareware and is available for $7.95.