I have a post out about how to get to St. Petersburg from Sweden and was given information about a cruise there. However, I'm wondering - do you have to go on a formal cruise or tour to visit St. Petersburg? Someone told me visa requirements would be waived if you do that - I'm just not sure what all this means?
If you are on one of the cruises or the overnight ferry, they arrange the visa for you. They have excursions of course, but I believe you can often do your own thing. The ferry is different than a regular cruise. The ferry advertises the visa requirement is waived, but it seems they have some arrangement for their passengers. If you book a tour company tour, they also will arrange the visa for you. If you just go on your own, you'll need to get your own visa. You must do so in advance.
I chose to do it by cruise. The cruise ship stopped for two days in St. Petersburg. We booked Alla Tours online ahead of time. They told us specificly what to show when entering Russia. The booked tour is essentially your "invitation" and allows you to visit without a visa. The two day tour was $300 each (including tip, transportation, guide, and admissions) in a ten passenger van. The group was assembled, from our ship, by Alla. We just told them our preferences. The price goes up or down based on number of people in the tour. A Russian visa alone is about $150 so I considered it a good deal. There are similar deals taking a ferry or train but I didn't fully explore those. For more information, I'd contact Alla or Red October tours (both have many positive reviews) online and ask them. It's their job to help people get into St. Petersburg. The cruise ships are notorious for repeatedly warning that you can only use their tours to get into St. Petersburg without a visa - it's completely untrue. They also insist, falsely, that you have to get off the ship last if you aren't booked on one of their tours. We weren't, and got off before the throng of ships' tour groups.