St. Petersburg is one of the most beautiful cities, seriously. It has its flaws of course. Things like seasonal price rising, weather conditions, that should be taken into account. Choosing a hotel in Russia is another kind of quest, once I picked one without thinking and my trip was, honestly, almost ruined. But it was worth it anyway, I will get back there again. Articles like this actually help https://www.tripoto.com/trip/how-to-choose-tour-to-saint-petersburg-your-ideal-leisure-5cc4a67d4d56c, at least you'll know what to pay attention on. Good luck!