Amazon adds message filtering to SNS
docs.aws.amazon.com
docs.aws.amazon.com
So if you are using SNS as a pub/sub bus for any kind of transactional activity (as in the examples above, where it's used for delivery of order_placed messages), be sure to build in some dupe-detection. The window seems to be on the order of minutes and I presume it's due to some distributed aspect of SNS internals. We keep MessageId history for a day for duplicate detection.
This is also why we won't use SNS for SMS to end-users, where a dupe would throw shade on us. We treat it strictly as a message fan-out for internal use.