The 30 second answer
SQS is a queue for work items, with a visibility timeout and a dead-letter queue for messages that keep failing. SNS is publish and subscribe, and SNS feeding several SQS queues gives each subscriber its own buffer. EventBridge is an event bus with content-based routing rules between many services. Lambda can consume SQS in batches. Delivery is at least once, so every handler must be idempotent.
SQS is a queue: one consumer group works through messages, with a visibility timeout and a dead-letter queue for messages that keep failing. SNS is pub/sub fan-out; SNS to several SQS queues gives each subscriber its own buffer. EventBridge is an event bus with content-based rules, good for routing events between many services and SaaS sources. Lambda can consume from SQS in batches. Processing is at least once, so handlers must be idempotent. Follow-up: How long should the visibility timeout be? (Longer than the worst processing time, or the message reappears and is processed twice.)