Well if you wait until you are sure that nothing will come out that is faster or cheaper in at least the next 3 months, you will die before getting anything. Pre Xmas is always a bad time to buy GFX....new generation cards come out in the Fall.....those get continually improved and new versions come out till June and then we all wait till it all starts over again in September.
If you **need** a card, get one .... what one you get will depend on your needs and budget. Good place to start is here:http://www.tomshardware.com/reviews/best-graphics-card,2464.html
What makes it a very "weird" time to buy is in that article you'll see that the best cards for the money are "old" cards in 8/10 cases. IIRC, from the $150 and up category, ATI's older 4xx series took 6 wins, while ATI's new 5xx series too just 2 wins and 2 honorable mentions, and nVidia's old cards took 2 wins and 1 honorable mention.
By late February (my guestimate), ATI will have better drivers for the 5xxx series, the individual manufacturers will have progressed beyond reference designs and nVidia will passed the initial release stage w/ Fermi cards.