See my very popular question on this subject in the dba.stackexchange site.
Bottom line is that TIMESTAMP WITH TIME ZONE
should almost exclusive be used.
TIMESTAMP WITHOUT TIME ZONE
is wall time and its use is, in
most cases an anti-pattern.
See also this wonderfull write-up on the same topic from which the following elucidating diagram has been copied:
TIMESTAMP WITH TIME ZONE
stores values internally in UTC
time which corresponds to the concept of absolute time that always goes forward and never regresses. In contrast, wall time (which is what you get if you look the time in a timezone) regresses due to the clocks being reset for winter / summer time.