You will only need a visa if you intend going ashore independently.
Russian visas are quite expensive to obtain and only required if you wish to go ashore independently, which is not to be recommended. If you go on a group tour, organised either by the ship or by one of the land based tour companies, then they will cover you on a group visa so you don't need one. No visa is required for the Scandinavian countries .
No you do not need a visa for Russia if [a] you take the ships trips or [b] you go with a registered tour guide. May I recommend you research the sites of alla-tour, denrus or Red October - I went with Alla-tour and cannot praise her highly enough. A small tour group of just 11, private entry into Hermitage ahead of the crowds - 2 days cost $225pp - a bargain compared to what the ship wanted.
Four years ago the cost of a visa for Russia was £30, sorry I'm not sure what it is now, but it appears to be easily available through the internet. However, if you are going ashore on organised tours you do not need the visa. As for the rest of Scandinavia no visas are required.
From what I have read, it is impossible to get from the ship to the dock gates on your own in St Petersburg, and therefore a visa will be no good to you and a waste of money. The only way is to go on an organised tour, either on one of the ship's or one of the local operators as listed by Aldrich.
Correct - no cabs are allowed in the port area, there is a rusty looking green bus that transports the dock employees from one area to another - you could catch this if you can speak russian. At the port gates there are a few Lada taxis waiting - again use your Russian to explain where you want to go and to bargain a price........are you getting the picture that it is pretty impossible to DIY because of the logisics and the language barriers.!! Just contact Alla and have a wonderful experience!
A new cruise terminal is being constructed in St Petersburg on Vasilievsky Island. It will not be fully completed until 2011 and the following is an extract from a news report.
"Although the construction of the new passenger port in St.Petersburg is far from finished (in fact, it won't be finished until at least 2011), the first cruise liner, the 292-meter long Costa Mediterranea, docked at a recently completed terminal on September 10th. The opening of the terminal marks the end of the first phase of construction of the new passenger seaport. The phase included the terminal building and two landing berths for cruise liners. Another berth will be operational in 2008, followed by three in 2009 and two in 2010. "
Further research reveals that the terminal is near the city centre and will have two metro stations on completion. When we were in St P in September our guide informed us that, even though not fully completed, they hoped to be using the terminal next season. If this is the case, then it would seem to make it much easier for visitors to 'go it alone'. However, a visa would be required. She also informed us that the authorities were looking at a three-day visa for cruise ship passengers, but no decision had been made on this.
In view of the above (hoping I have got my facts correct), it might be as well to check with Celebrity where the ship will dock.