There are many direct flights to St. Petersburg from European countries and usually arrive at Pulkovo II, the main international terminal for the city.
If you are searching for flights the airport code is LED (from the old name of the city Leningrad).Here is a list of some of the airlines serving St. Petersburg:
If you are thinking of flying direct to St. Petersburg I would suggest that you monitor the special offers of the second biggest Russia airline "Rossiya" which based in St.Petersburg http://www.rossiya-airlines.com/en/ as they often sell return ticket from main European cities at about 270USD.
It is also possible to fly to Moscow, and then catch an internal flight to St. Peterburg.
On one hand it can sometimes be a cheaper option, but on the other it does involve the hassle of disembarking, going through passport control, claiming your baggage and then passing customs. After which you will need to make your way to the terminal for internal flights and go through check-in. If you should be unlucky enough to arrive at Sheremetevo airport then you will need to catch a local bus to transfer to the internal terminal. There is no airport shuttle bus, all bus signs are in Russian, you will need Russian money, and most likely no-one will help you (aside from taxi drivers keen to rip you off). Domodedovo airport is slightly better, but it will still be some effort changing planes.
Basically my advice is to avoid changing flights at Moscow. It is easier to change elsewhere in Europe, where things are better organized, and then fly direct into St. Petersburg.
There are no international budget airlines serving St. Petersburg.
It is possible to fly to Finland, Estonia or one of the neighbouring Scandinavian countries by budget airline, and from there continue your journey to Russia. This can be by plane, train, bus or ferry. There are many options, but few that save any significant amount of money and those that do can be quite time consuming and tiresome. Please also bear in mind that many budget airlines fly to remote or less used airports.
If you only want to visit St. Petersburg, then try to fly direct, or if necessary change at a major European airport
(e.g. at Schipol, Charles-de Gaulle airport etc.) and NOT at Moscow.
If you do have to change at Moscow then please leave plenty of time to allow for any difficulties.
If you plan to visit both Moscow and St.Petersburg, then I would recommend that you fly direct to St.Petersburg and fly home direct from Moscow.