I am Mexican and I say yes it is better if you speak spanish. You will be able to get around much easier. But many people are friendly and helpfull to visitors. If you are in Veracruz and need some help, I speak some english, maybe I can show you around Maria
You may have already heard this: it all depends on where you are going.... Cancun/cozumel -- no spanish needed -- very touristy, but very pretty, fantastic beaches, Mayan Ruins...
in mexico -- they appreciate your attempts at their language... use it to break the ice... when they know your trying your best -- they'll use the best english they know which will be better than your spanish...
carry no more than $10 in singles in your pocket broken up in thirds-- tell them thats all you have ... they'll settle.
I noticed the one question nobody really answered was the top spots one (that is, the must-go-to destinations).
Here's the scoop:
There are two major types of destinations in Mexico--the beach resort places, and the cultural places.
Among beach resorts the top spots in order are:
Cancun/Cozumel, Puerto Vallarta, Acapulco, Los Cabos, Mazanillo, Ixtapa, and Ensenada. I've been to the first three, and the last one but not the other three. In my opinion, Cancun/Cozumel ranks head and shoulders above the rest, with Puerto Vallarta ranking pretty equal to each other. Cancun has the better nightlife, better beaches and more things to do (including cultural things--see below). The others have pretty good nightife, but the beaches aren't as good, and there are fewer activities available.
Among cultural places--I would say Mexico City, San Luis Potosi, and Guadalajara are tops in that order. But Cancun/Cozumel could be put on this list also (at maybe the second spot)--which is why it's the top spot in all of Mexico.
Rather than go through everything--I'll suggest you get a guide book. The key thing to know is that the large pyramids are located northeast of Mexico City, and then both west and south of Cancun.
I recently went hiking in mountain area of Cordoba, Fortin and Orizaba area. It is about 1 1/2 hours west of Veracruz. There are rainforest, waterfalls, lakes, pretty rivers, 3rd highest mountain peak in americas (Picos de Orizaba) colonial cities with many large, historical buildings, museum, very nice, interesting...... and I can't say enough about the natural beauty of this area.. I highly recomend a visit here.. If you don speak espanol.. you can have a bilingual guide here for very cheap.. less than the cost of many of the daytrips in Cancun.. contact me if you like to know anymore... Maria de Veracruz
Why not take some Spanish lessons while you are travelling throughout Mexico? Great schools in the Yucatan in Progreso on the beach. The Yucatan is the most beautiful state in Mexico,it is NOT Cancun.