We went to St Peterberg for a couple of weeks in 2012 - beautiful (if expensive) city.
You have to book your hotel first. They then issue you with your Tourist Voucher and you use that to get your visa. The visa application is done on-line and can be done directly with the embassy. If you google russian visa application you will get several million hits on people who claim to do things for you for extera money - these are ALL scammers who add no value.
When you fill in the on-line form be prepared to spend a lot of time doing it. From memory it starts out being just three pages, but as soon as you select "British" as a nationality this jumps to around 12*, and some selections on some of the pages (especially employment and some travel stuff) spawn yet more pages. And IIRC you need one for each person (even the kids). The process was simple, but time consuming.
PDR
* I was told that this is simply Russia mirroring the visa questions your own country asks of a russian visitor