For those of you who haven't used it, Mexico has an excellent intercity bus system with many classes of service available to fit your needs.   It is becoming more usual for the main bus terminal (Central) in many cities to be outside the downtown area, and also for them to have a "taxi counter" inside the terminal where you purchase your taxi fare.   This is a blessed relief from having to beat off taxi drivers entreating you to use them, when you have no idea how much the ride should cost.

Second Class (Segunda Clase) 
The most basic is usually Second Class, which can be comfortable, without a/c and making stops at many points along the way (few have a/c).

First Class (Primera Clase) 
These buses are very nice, with reserved seats plus more leg room, with a/c, restroom, and movies. A sandwich and a drink is usually provided. They make few or no stops along the route. Between major cities there is often a bus every 15/30 minutes, and there is no need to book in advance except during busy holiday periods. However, many companies have online booking facilities.

Luxury Buses (De Lujo or Ejecutivo)
The top of the line are a few companies such as ETN, ADO-GL and UNO, who operate luxury buses with 2+1 seats across which almost lie flat, similar to business class airline seats. These buses run mainly on the busiest routes. They provide a snack with sandwich and cookie, and a permanent drink station in the back of the bus with hot water for tea and coffee. The buses make few or no stops along the route and on longer journeys they often travel overnight. Tickets can usually be purchased through their websites.

Purchasing Tickets
Each city has one or more bus terminals. Every region has several bus lines. You can find out about itineraries and purchase tickets in the terminal. You can also purchase tickets on major bus lines from any travel agent in Mexico. There are often "package deals" combining bus travel and hotel in most destinations with which a travel agent will assist you in finding what is best for you.

One of the most complete sites in terms of coverage and funcionality, which is also independent from any operator is Reserbus (www.reserbus.com). There you can check schedules, compare prices/service as well as make your purchase in advance from among the top bus operators in Mexico including Primera Plus, Omnibus de Mexico, Grupo Senda, ETN, Tufesa + many more (20 bus lines). Reserbus.mx also has specific destination sites such as the city of Guadalajara, Mazatlan and Queretaro where travelers can search for their trips but also read about the city's history and most relevant places to visit. Its payment gateway works perfectly with local debit and credit cards (some international cards also work).

One of the best sites for bus travel on the lines operated by ADO, such as ADO,OCC, ADO-GL and UNO is www.ticketbus.com.mx , where you can see schedules, prices, seat maps and reserve seats. The entire country is not covered but it's one of the best sites for bus travel in Mexico.  For websites of  the other long distance bus companies in Mexico, see http://www.differentworld.com/mexico/...

Note that ticketbus.com (aka boletotal.mex) or ADO don't accept credit cards from banks in Canada for online booking.   OXXO stores now also sell bus tickets.

Enjoy!