AWS (and all other cloud providers) meter the data you send over wire to the last byte. They also categorise this transferred data on the basis of source and destination location/services/etc. Each category appears as separate line item in your invoice and is billed at different applicable rates. The units are usually $x/GB. There are some free limits (which fall under the free tier limits) after which tiered pricing applies.
There are a lots of technically valid as well as profit-oriented reasons for this. I share a few to give a gist.
AWS has never reduced data transfer costs ever since it was first introduced. These pricing models are a relic of the past when bandwidth was much more expensive than it is today. I feel AWS should lead and reduce the data transfer pricing. However, AWS has no incentive in reducing this.
Regions, AZ and data transfer costs
🌼🌼🌼🌼🌼🌼🌼🌼🌼🌼