Take a Flight
Samui International Airport (USM) is one of the best-looking airports in Thailand. It's privately owned and run by Bangkok Airways, it offers a convenient way of getting to the island with the minimum of fuss. However the downside is due to the airport being privately owned, direct flights to Koh Samui are expensive. The flight between Bangkok (BKK) and Koh Samui (USM) typically takes about 1 hour and 10 minutes. There are 20 direct flights every day.
You can lower your cost by flying from Bangkok to Surat Thani Airport (URT) instead, then catching a ferry to Koh Samui. Budgets airlines such as Air Asia and Nok Air fly to Surat Thani for much less than any flight you'll find that goes directly to Koh Samui. Taking the ferry will add about two hours of travel time to your journey, more if there's a long waiting time between your flight's arrival and the next ferry. On the positive side, the ferry crossing offers great views of the islands and the emerald waters and is particularly majestic during sunset hours.
Train and Ferry
If you're not flying to the islands, any other transportation option to Koh Samui will include some kind of boat. A cheap option that's full of character is the combination of an overnight train with a ferry. While you could catch a daytime train, choosing an air-conditioned sleeper train will make the trip a lot more comfortable. If you choose first-class carriages, you'll get your own private two-person cabin with your own washbasin. Second class is an open carriage with seats that convert into beds at night.
Overnight trains departing from Bangkok's Hua Lamphong Train Station arrive in Surat Thani early the next morning (depending on the train, this can be as early as 4:30am). Once here, you'll have to self-connect with a shuttle bus to the Seatran or Raja pier in Donsak. After a conventional 90-minute ferry crossing you will arrive at Seatran ferry pier in Nathon Koh Samui or Raja ferry pier in Lipa Noi Koh Samui.
Update: Trains to Surat Thani now leave from the recently opened Krung Thep Aphiwat Central Terminal, also known by its former name Bang Sue Grand Station. Krung Thep Aphiwat Central Terminal, re-named by the King, is a major railway station in Chatuchak, the central passenger terminal in Bangkok and the current railway hub of Thailand.
Bus and Ferry
Your cheapest option to get to Koh Samui from Bangkok is to catch a bus (instead of a train) to Surat Thani, then change to a ferry or catamaran at the pier for the rest of the journey. This trip can be economical, but prices go up depending on the season and the time of day (nighttime buses cost more because the journey is more convenient). While this combination is quicker than the train, and the buses are air-conditioned, the travel isn't as comfortable or charming as what you get on a sleeper train.
If you don't want to worry about finding good land/sea travel combinations on your way to the island, a ferry and VIP Bus tour package from Bangkok to Koh Samui could be the perfect solution. Package deals combine a VIP bus ticket with a ferry ride that will take you right from the heart of Bangkok to the picturesque Nathon Pier on the shores of Koh Samui. Package deals can be bought at the Southern Bus terminal in Bangkok.