As one of the busiest cities in Vietnam, Hanoi definitely is a major hub for hundreds of different passenger as well as cargo buses from surrounding provinces. There are 3 major long-distance bus stations in the Hanoi: My Dinh, Luong Yen and Nuoc Ngam. Each one serves a particular area.
Located at Pham Hung road in the Western North of Hanoi, My Dinh bus station which is 20 minutes away from the downtown is probably the biggest station serving a wide range of destinations, mostly northern provinces such as Ha Giang, Lao Cai, Lai Chau, Dien Bien, etc. There are many transportation companies with a lot of cars in different sizes from 16 to 45 seats. Long-haul routes like Ha Giang or Lao Cai often offer 45 seat buses with sleeper chairs, a bottle of water and air conditioner at the price of 150,000 to 180,000 VND. To secure a seat on these buses, you should buy the ticket at least 2 hours before departure as the station does not have an online booking system.
Nuoc Ngam bus station which located at Giai Phong road in the South of Hanoi is also a very busy one mainly serving mostly every destination in the South of Vietnam such as Ho Chi Minh city, Can Tho, Hue, Da Nang, etc. There are always many old and new buses from various companies to choose for each route. Long-haul buses also are 45 seats, sleeper chairs, and air-conditioner. Especially, long routes like Laos can be found here. Price is mostly fixed so you don’t need to worry much.
The last one, Luong Yen which also located in Southern Hanoi near Nuoc Ngam was previously the place for destinations in the South. This station now is mainly used for cargo buses to southern provinces like Nghe An, Quang Binh, Can Tho, etc. Hence, you can still find some usual buses here with negotiated price.
This kind of information can be easily seen at websites of well-known travel companies like Buffalo, Indochina, Eviva, etc. Carefully read them before you go to get the most of your trip.