We did the 12-night Baltic Cruise on the Holland America Eurodam from Dover and it was awesome! One of the best cruises we've ever done.
As was previously posted, if you're making a stop in Warnemunde, Germany, alot of people take the train to Berlin. While Berlin is interesting, it's a very long day for little reward and also, as was stated, it can be very hot in the Summer, making it not such a fund day, for sure.
We just took the train to Rostock and spent time touring that city and then came back and spent the rest of the day checking out Warnemunde, which is actually quite a lovely town.
As for St. Petersburg, I highly suggest getting an independent tour - it really is the best way to see and do it all. We used SPB Tours and they were great! We had 10 people in a 12 passenger brand new Mercedes Benz van, which was MUCH more comfortable and alot nicer than doing the cruise line excursion on big buses with 45 other people, especially when visiting the museums.
We found Tallin to be a wonderful and very interesting town. And while you can take a tour, we chose just to walk around and do our own thing.
In other ports, such as Helsinki, we did the hop-on hop-off buses and that, too, is a great way to get around and see it all without spending alot of money.