In most cities, quality hotels are really rare: most were built in Soviet times several decades ago and have been recently renovated in their facilities, but rarely in their service and attitude. Even for a local, it is quite difficult to find a good hotel without the recommendation of someone you trust. For the same reason, during mass tourist events like St. Peter’s Birthday, it can be very difficult to find a hotel.
Hotels in Russia can be quite expensive in metropolitan and tourist areas. If you speak some Russian and are not completely shocked by the culture, it is much wiser to look for and rent a room in a private flat. Most Russians want to earn some extra money and, if they have a free place, will gladly rent it out to a tourist. Muscovites who are locals or residents of St Petersburg prefer to rent to tourists rather than their own compatriots: foreigners are considered more trustworthy and tidy. Expect to pay 60-70 USD per night (usually with breakfast prepared by your host), and the accommodation is certainly very clean and functional, even modern. As for family life, Russian culture is very warm and welcoming.
Another useful option is the short-term rental of flats offered by small businesses or individuals. This means that some flats in ordinary residential buildings are rented out permanently and by the day. The flats can vary in location and quality (from old to newly renovated), but in all cases you get a one- or two-room flat with kitchen, toilet and bathroom. Guests also provide bed linen as well as cups, plates and other kitchen utensils. Renting the flat offers great autonomy and flexibility (for example, there is no strict departure time). On the other hand, you will not benefit from some of the hotel’s facilities, such as breakfast, laundry service, etc. The price of renting a flat by the day is usually not higher than that of a hotel of similar quality, which makes it a very useful option, especially in big cities. Negotiations are usually quite formal: the host takes your ID details while you receive an invoice and a rental contract.
A new phenomenon is the development of “mini-hotels” in large Russian cities. These hotels usually (but not necessarily!) offer clean, modern rooms with private bathrooms at costs much lower than those of large, classic hotels, around $60 as opposed to well over $150. These small hotels are located in existing apartment buildings and are one, two or more floors above street level. They also often serve breakfast. There are several in St Petersburg, and new ones are opening all the time, and some are appearing in Moscow.
Couchsurfing is very popular in Russian cities.