Look on the cruise critic forum, loads of info. We did a day out that cost us £100 the ship wanted £600 for the same trip! Make sure you have £100 and the port and berth you have docked at incase you get lost and need a taxi etc to get back.
We've done the Baltics, and yes Copenhagen and Tallinn are very doable DIY. Tallinn is gorgeous, one of my favourite places, and all self-contained in the old town. I've never sailed with Carnival so I don't know if their shuttles are chargeable but they will run them. I think the tour companies in St Petersburg are all pretty good, as they live off their reputation on the cruise boards. You'll have a great time.
I've [gulp] just booked our first cruise (Carnival to Scandinavia and the Baltic) and am at the prices of excursions. But, I can't find anything in the FAQs about shuttle buses to the city centres so we can mooch around ourselves, rather than doing official tours.
Do most companies run their own shuttles, or are they generic port shuttles; and if so, do we pay separately for them (I'm assuming so as Carnival is cheap n cheerful), or do I budget for taxis?
We'll do St Petersburg as an arranged tour otherwise we need to sort our own visas, but Copenhagen, Tallin, Amsterdam etc all seem doable on our own rather than $80 per person for a four hour bus journey round the sights.
Or am I deluded, and need to work a load of extra hours to pay $$$ for excursions?