Having played and owned all the COD games, in my mind BFBC2 is significantly better than COD on all aspects. The graphics are fantastic and easily better than both MW2 and Black ops. The detail level when you are using sniper sights etc are excellent, and the care and attention that has gone into making this an outstanding package are there to be seen,
BFBC2 has the most solid singleplayer of any of the recent FPS offerings and provides hours of challenging campaign. The multiplayer for me is secondary to the excellent single player, but is a much more fun and tactical experience than MW2. The fact that everything is destructible makes for some very challenging map changes!
BFBC2 is also well supported with free map packs available and now the Vietnam experience (which I havent tried yet), keeping interest alive for the gamer.
All in, I would say this is the best FPS out there, and at the prices you can get it for now, it is an absolute steal. Get it, and watch the hours zip by!