I would say that metro 2033 has got to be one of the most poorly optimised games in a long while, (unless you play on a quad-sli gtx480 setup) but even on an HD5870, i would get fps drops as low as 20. Now the graphics and effects were beautiful, and i have to admit i was on the edge of my seat at some parts, but honestly games like BC2 look much better and run so much faster.
As for the overall advancement in graphics, since around the release of the xbox 360, the core engines of the games havent advanced very far at all (with the exception of the Cryengine) but with games like bioshock 2, re-using a VERY dated enine from as far back as 2003, its clear to see where the limitations lie...