I spent 3days in St Petersburg then took the overnight train to Moscow and spent 3days there last spring while I was studying in Europe. It was definately worth the trip for me, I'm a bio/history double major and although my concentration is in ancient history, I've taken all the Russian history classes offered. It was quite mind blowing for me cause I got to go to all the places I had read and studied about in class.
If you have the option, I'd go to St Petersburg rather than Moscow, although they are both worth it. St Petersburg just felt better to me, Moscow seemed like any other big city, rather modernized (to an extent) and lots of people. Be ready for a culture-shock, it was really wierd. Like walking down the main streets it's all nice and modern, take the wrong turn and you're in a courtyard with rusting Soviet era cars laying around. And all these people begging/selling stuff on the streets, especially near stations. Russian women were very pretty though, they know how to dress well. Too bad the same isn't true for the guys, all these big dudes in leather jackets walking around.
Food was ok, be ready to eat lots of meat, potatoes, and borsch. Night life was pretty good, if you end up going to Moscow be sure to check out the Karma Bar and the Hungry Duckling.