St. Petersburg is AWESOME!!!! I would suggest doing a private tour rather than the ship's shore excursions.
Here is a link to the St. Petersburg Port Review that might give you some ideas.
Depending on what you like to do, there is every opportunity to thoroughly enjoy St. Petersburg in the time you are docked there. I would highly recommend doing your own thing.