Difference in between :utc_datetime and :naive_datetime in Ecto

I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the timezone too.

I read a little more here and found out that on the DB end both the fields are the same which is utc time without timezone.

Now, I am a little confused about when should I use :naive_datetime and when :utc_datetime.