From Medan there is a local bus (no air-con) about every hour for 22,000 rupiah (October 2008) if you pay on the bus. The journey takes 4-6 hours, depending on the traffic condition.
From Medan RAJA Taxi +62(0)617 366 555 will pick you up at the airport. Scheduled runs in an Avanza (5 person car) will cost you 80,000 IDR per person. Alternatively, you can book the whole car for 400,000 IDR.
Take a ferry boat to cross over to Samosa island.
Water Scooters (150,000Rp per half hour, with a guide on-board)
Speed boat rides
Self paddle "kiddle ride" boats (40,000Rp per hour)
Charlie's Guesthouse - good place, meaning cheap and central. Overlooks the market (a bit noisy especially on Saturday) and is very close to the ferry station. Rooms are about 30,000 rupiah, pretty clean and with shower (2006).
Niagara Hotel and Resort - One of the better hotel you can get there, though only 2 to 3 stars. Can be crowded with families and Indonesians during peak period (weekends and public holidays) http://www.niagaralaketoba.com/