In most cities, quality hotels are really scarce: most were built in Soviet times decades ago and are recently renovated in decor, but rarely in service and attitude. Even for a local, it's quite a problem to find a good hotel without a recommendation from a trusted person. For the same reason, it may be really hard to find a hotel during mass tourist-oriented events like StPete anniversary.
Hotels in Russia may be quite expensive in metropolises and touristy areas. If you do speak a bit of Russian and are not entirely culture shocked, it is much smarter to seek out and rent a room in a private residence. Most Russians are looking to make extra money and, having space to spare, will rent it out to a tourist gladly. Native Moscovites or residents of Saint Petersburg would rather rent out to tourists than their own countrymen: foreigners are considered more trustworthy and orderly. Expect to pay 60-70 USD a night usually with breakfast prepared by your host, and the accommodations will certainly be very clean and proper if not modern. When it comes to home/family life, Russian culture is very warm and inviting.
Another useful option is short-term apartment rental offered by small companies or individuals. This means that certain flats in regular living buildings are permanently rented out on a daily basis. The flats may differ in their location and quality from old-fashioned to recently renovated, but in any case you get a one- or two-room apartment with own kitchen, toilet, and bath. Additionally, the hosts provide bed linen as well as cups, plates, and other kitchen equipment. The apartment rental provides great autonomy and flexibility e.g., there is no strict check-out time. On the other hand, you do not get certain hotel facilities, such as breakfast, laundry service, etc. The price for the daily apartment rental normally does not exceed the price for the hotel of similar quality, so it is a very useful options, especially in large cities. The negotiations are usually quite official: the host collects the data from your ID, while you get a bill and a rental agreement.
A new phenomenon has been the development of "mini-hotels" in large Russian cities. Such hotels usually but not necessarily! provide clean modern rooms with private baths at far lower costs than conventional large hotels, approximately USD60 as opposed to well over USD150. These small hotels are located within existing apartment buildings and include one, two, or more floors located a story or two above street level. They also often serve breakfast. Saint Petersburg has quite a few with more opening all of the time and some are appearing in Moscow.
Couchsurfing is very popular in Russian cities.