We took the Sapsan (high speed train) from Moscow to St Petersburg in 1st class. It was very clean, fast (3.5 hours), and the seats were very comfortable. We were served an excellent lunch (it was included in the ticket price). Perhaps we were spoiled by the Sapsan ;-)
We also took the train from St Petersburg to Tallinn Estonia. The only train left at 6:30am, arriving Tallinn at 13:30. We were surprised to find that our seats were upper bunks and there were people sleeping in the lower berths. The train only had 2nd and 3rd class seats (we bought 2nd class) and nothing extra was included in the ticket price. However we had a very nice breakfast for 350 rubles in the dining car. I suggest you ask if the train is a sleeper and if yes ask for lower bunks. The upper ones are for nimble youth! There was also no room for luggage storage, crowding the compartment.
Overall it was a nice, scenic, and fairly smooth ride. Both trains ran on time.