Public transport in Hungary is cheap, clean and fairly reliable. The only problem can be getting information, as English is by no means uniformly spoken.
Intercity trains are the fastest way of getting to the major towns (marked “IC” on the timetable), though seat reservations, a separate numbered piece of card available at any MÁV office (w http://www.mav-start.hu), are compulsory for services marked on timetables, and cost around 480Ft extra. You can buy tickets (jegy) for domestic services at the station (pályaudvar or vasútállomás) on the day of departure, but it’s best to buy tickets for international trains (nemzetközi gyorsvonat) at least 36hr in advance. When buying your ticket, specify whether you want a one-way ticket (egy útra), or a return (retur or oda-vissza). For a journey of 100km, travelling second-class on an express train, expect to pay around 1600Ft.
Volánbusz (w http://www.volanbusz.hu) runs the bulk of Hungary’s buses, which are often the quickest way to travel between the smaller towns. Arrive early to confirm times and get a seat. For long-distance services from Budapest and the major towns, you can book a seat up to 30min before departure; after that, you get them from the driver (and risk standing). For a journey of 100km, expect to pay around 1600Ft.