SNS - the way I see it, conceptually - these are really two different products under one AWS service.
HTTP (S), Lambda, SQS, Email, Email / JSON and SMS (you forgot SMS)
Mobile push notifications (this is the "application" - mobile applications)
For an application protocol, the endpoint is the endpoint of the mobile application and device.
http://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html
If you do not send a mobile push notification, you do not publish to EndpointArn . You publish on TopicArn .
For everything except mobile push (https, email, sqs, etc.), when you send a message to a topic, it applies to all subscribers to this topic. Individual subscribers are not individually addressed (if there was not a big change that I was able to skip, I welcome the fix, if so).
Using mobile push, you can send messages individually to individually addressed endpoints ( EndpointArn ) or to all endpoints that are subscribed to a topic.
source share