These months see the most visitors from North America. Book way in advance, especially during Semana Santa (the holy week before Easter), spring break, Christmas, and New Year's Eve. Mexico averages year-round temperatures in the mid-70s.
Off Season: May; October
The months on the tail ends of spring break and summer vacation tend to be quieter with nearly perfect weather and smaller crowds. The only drawback is that some hotels and restaurants may be closed.
Sweet Spot: June to August
It may be the height of rainy season, but during the summer months is when the locals take advantage of school vacation to fit in most of their traveling. Consequently, hotels will still need to be booked in advance.