For one, Americans don't just smile to be polite. For the most part it's genuinely conveying positive emotions.
Now I know this is going to be unpopular, but I think the real reason Russians don't smile is cultural. It's because they are genuinely more cynical miserable people. This is completely a generalization and there are tons of exceptions on an individual level, but on average life (especially in the cities) is more cut throat, it's cold, the authorities are corrupt, people are asshole to each other in public, and if anything goes wrong you can be darn well be sure that no one will help you[1]. There is no sense of community, or impulse for people to help each other out and being nice to strangers. So naturally you're worried you'll get robbed or whatever - so you keep to yourself, don't make eye-contact, and don't smile.
If you go to the country side, people are a lot more likely to smile at you.
A bit of an aside - I've found it's also a very Slavic thing. Prague had very similar miserable faces, which Budapest was full of smiles (though economically the countries were very similar)
[1] I remember a story my friend told me of how he was on the subway and a bunch of skinheads beat up an African college student. After they left, no one did anything to help the kid, and everyone just pretended like nothing happened. A good ol' "it's non of my business" attitude.