The GeForce will provide a small margin of performance better in a handful of games, however it will use significantly more power and will output a lot of heat in your system which will test your exhaust fans to maintain the system temperature. Also, it does not include DirectX 11 and the
enhancements it will bring if not now, eventually, which is a bit disappointing seeing how much the card costs ($~80 more than the HD 5870). Also, Eyefinity support which I think is cool, and I would take advantage of if I had the money to be spending on it.
Personally, the HD 5870 is the logical choice I see. With the GTX 295 it may offer better performance now, but the drivers are mature, the thing is gonna be EOL'd by the time you want to add another one, it's big, clunky, and it doesn't even work in some games because its a dual gpu, single card solution that sometimes causes problems (Tom's had a problem with it not running at the highest resolution, not to mention there's always posts on this forum with problems). With the HD 5870 you can just add another one in a year and you can be sure they'll still be there, and heck, you can add two more after that if you feel like it.
As far as the vendors goes, what you're looking at is pretty slim right now. All of the brands except Sapphire and ASUS have not released any third-party designs as far as I'm aware. ASUS cards currently allow
voltage modification which gives you a lot of overclocking headroom, and Sapphire have their
Vapor-X cooled version with a slight overclock. I'd go with either of those, personally. As mentioned previously, XFX has a "double lifetime" warranty which means that if you plan to sell or give it to another person they obtain that lifetime warranty, which, I guess increases the used price of the card. I am not sure how useful that'd be to me or my sales pitch, but it is definitely not bad.