To be clear on SES sending limits, you have to understand there are two types of limits: Maximum Send Rate and Sending Quota
Apart from these limits, port 25 sending rate is throttled by default - but that throttle can be removed.
Maximum Send Rate
The maximum number of emails that Amazon SES can accept from your account per second.
Sending Quotas
The maximum number of emails that you can send in a 24-hour period. All new SES accounts are setup in a sandbox, and have a default Sending quota of 200 emails per 24-hour period. You can request this limit be raised, based on your needs and actual usage patterns.
To answer your questions directly:
Why doesn't it throttle ports 465 and 587?
Default rate limits are enforced on port 25, as this is the common sending port. This leads to a lot of spam being sent on this port. To prevent this, AWS EC2 throttles port 25 by default. Ports 465 and 587 are less well known, and are not as subject to as much spam abuse.
Why doesn't everyone use these ports instead of 25 and avoid the throttling issue altogether?
They can/should if their software allows use of those ports. Some legacy applications can only used port 25. In those cases, you can request the throttle be removed.
In summary regarding SES sending limits:
- Ports TCP/465 and TCP/587 are not throttled
- Port 25 is throttled by default, but it can be removed by request.
- The Per Day Sending Quotas limits of your SES account always apply
- The Per Second Maximum Send Rate limits of your SES account always apply