What is the difference between Region, Availability Zone and Endpoint in AWS?

In AWS, every region is an independent environment. Within a Region there can be multiple Availability Zones.

Every Availability Zone is an isolated area. But there are low-latency links that connect one Availability Zone to another within a region.

An endpoint is just an entry point for a web service. It is written in a URL form.
E.g. https://dynamodb.us-east-2.amazonaws.com is an endpoint for Amazon DynamoDB service.

Most of the AWS services offer an option to select a regional endpoint for incoming requests. But many services in AWS do not support regions. E.g. IAM. So their endpoints do not have a region.