Given the paucity of travel destinations available by train, you might want to consider the bus. At least Eurolines can take you directly to Riga in four hours, and then onwards to Vilnius in another four.
The local buses are comfortable enough, but tend to be old. Cheap though. You can book tickets online here, or buy them from the ticket office at the bus station.
International buses are operated by Eurolines, and they have a fleet of ultra modern buses, with free coffee and even wifi. These are spacious and comfortable, with an aircraft feel about them. They certainly compete with the airlines, and the prices can be as low as a few euros from Tallinn to Riga, if you book online.
The bus station is some way from the old town. Take tram 2 or 4.
Buses run quite frequently through the day between Tallinn and Riga taking only 4 to 4 and a half hours each day - and only cost about £10.
Good roads all the way. Flat terrain with crop or tree growing landscapes - nothing particularly exciting to look at but at least its a good connection and you do see some of the countryside outside the cities!
Local buses in Estonia go into different parts of Estonia. I think the most frequent bus schedules are between Tallinn and Tartu, Parnu, Narva. Foreign tourists could use international student tickets for some discounts. Bus station is still not so far away from old town, but I preferred to take tram ride than walk, because walk takes more time.
The best way to get to Tallinn from Vilnius or Riga is surely bus. Vilnius - Tallinn bus goes at day till (at morning you sit in Vilnius and at evening (4.50 PM) you are in Tallinn. It goes through night as well. I took night bus and it was quite comfortable, as you don't lose the daytime.
The price Vilnius-Tallinn bus ticket is 27.50 euros. There are discounts for young people, pensioners, and for people who bought ticket 10 or more days in advance.
Best connection for the Russia and all Countries except Suomi / Finnland ist the bus.
The busses are run by eurolines. I have linked their page.
From the bus station to the city
Take tram nr. 2 or 4, bus nr. 17, 17A or 23.
Eurolines offers several departure per day from/to Riga but if ihave to tell the truth we had some problems with this bus and we had to leave the day after the one we wanted to: The first time the bus was full, the second time it was broken, the third time,despite we had reservation, they had some troubles and they made us leave on the next bus...so at the fourth attempt we could finally get on that ****** bus.
Hope you will be more lucky than us....