From what I understand, it's to prevent application level errors where you do send it with a timezone, as you mentioned. This avoids the conversion (since it is stored as UTC) at the application level
It's an extra risk that offers nothing. Just use UTC in your code, there's no reason not to and is much better advice. If you don't use UTC, at least you can still recover and convert easily if you are using the standard `timestamp` type since it's exactly what you saved.
The `timestamptz` type is a mistake and one of the few things where PG gets overly ambitious in helping, only to cause more pain that it's worth.