The SNS documentation FAQ's says:
SNS provides durable storage of all messages that it receives. Upon receiving a publish request, SNS stores multiple copies (to disk) of the message across multiple Availability Zones before acknowledging receipt of the request to the sender. Each AWS Region has multiple, isolated locations known as Availability Zones. Although rare, should a failure occur in one zone, the operation of SNS and the durability of your messages continue without disruption.
And
If it is critical that all published messages be successfully processed, developers should have notifications delivered to an SQS queue (in addition to notifications over other transports).
I was curious at a theoretical level, does anyone know any conditions which would cause a message published and accepted by SNS to be "lost" specifically when using an SQS consumer, i.e. the message is never delivered to the SQS subscriber.