Been to Cancun in Dec-- excellent weather...breezy...at night..bring a light jacket...ocean water is approx 80 degrees Farenheight...swam all day...walked around in shorts...
cancun vs mexico city---depends onpersonal preferance...I would choose Cancun...