We have been to St. Petersburg twice, both times on cruise ships. Really enjoyed it. No visa necessary as long as we were on a cruise line shore excursion, to do stuff on your own you need a Tourist Visa.
Sounds like they help arrange a "Tourist Visa" for you, I bet it has to be a "Russian Tourist Visa Invitation - Multiple entry (up to 1095 days)" but who knows, cruise lines get all sorts of special concessions from governments anxious to receive visitor spending.
Normally--"A cruise passenger can get off the ship together with other tourists, in this case no visa is required. The passport control officers just check the list of passengers produced by the cruise company. If you do not want to stay with the group and prefer to make a separate city tour, a visa will be required.
A no Visa Entry is only for 72 hours and only for cruise ship passengers. A tour confirmation from a Russian travel company is needed to go ashore. You are required to depart and return to the port with the tour, you do not have the option to stay in St. Petersburg and return to the ship on your own. You may disembark independently if you have a valid Russian visa."