I've been to Oaxaca and Mexico City several times. Oaxaca is a great introduction to Mexico, more laid-back and friendly than Mexico City. It was a center of the Zapotec civilization that built nearby Monte Alban, a hilltop city with impressive ruins and wide valley views. Other ruins nearby include Mitla, Yagul, and the more recent Cuilapan. The city has several beautiful colonial churches, an excellent archeological museum, and an interesting botanic garden that includes what may be the original strain of corn in the world -- a tiny version of what we now know and eat. The surrounding villages are known for folk art -- weaving, pottery, tin work, etc. A high percentage, maybe a majority, of the people are Indians (indigenos) rather than European-descent, friendly and warm. Food specialties include mole, a complex sauce that comes in multiple varieties, and chocolate. The easiest way to get there is a 2.5-hour flight from Houston on United, but there are also many flights from Mexico City. Oaxaca is inland at about 5000' elevation, with a nice climate year-round. Winters have warm dry days and cool nights. By May it can get unpleasantly hot and dry, then in June it starts to rain for an hour or so most afternoons, keeping it pleasant through the summer. South of the city of Oaxaca, on the Pacific coast of the state of Oaxaca, are several beach towns, notably Puerto Escondido, with impressive seasonal surf. I don't know what the snorkeling is like.
Mexico City is one of the world's largest and most polluted -- best to go in a season when the air's relatively clean (probably winter, check a guidebook). It has amazing ruins like the Templo Mayor downtown and Teotihuacan further north. The National Anthropological Museum is world class, with exhibits about all the major Mexican cultures. There are numerous galleries and museums, historic buildings, public art -- it goes on and on. Many flights from various US cities. It can be an overwhelming place to visit if you haven't been to Mexico before, but well worth the effort. There are water gardens nearby in Xochimilco (sp?) but no other aquatic things to do.
The Mayans inhabited the Yucatan peninsula and parts of Central America south of Mexico. Merida would be a good base for exploring their part of Mexico, but alas I haven't been there. Major Yucatan ruins include Chichen Itza, Palenque, and Tulum on the coast (easily reached from the Cancun beach resort area). My experience in this part of Mexico is limited to a couple of cruise stops, but I'm sure the beaches and snorkeling are excellent.
Hope that helps some. Check out some guidebooks from your local library, see what interests you. The Wikitravel internet site has good info on a lot of places. You'll get more out of this site with more specific questions after you've narrowed down your choices. PM me if you want more on Oaxaca in particular.