Honestly I think you get the most bang-for-your-buck with Battlefield 2,
I have both Battlefield 2 w/spf, and Battlefield 2142. And honestly I can say that Battlefield 2142 is basicly a online only game with only like five maps total. While Battlefield 2 has a much more competent singleplayer and multiplayer experience with non of the awards/unlock B.S. like 2142 has. And in my opionion the graphics on BF2 are superior to 2142 even though it came out sooner, and has the same minum specs that 2142 has. 2142 also requires you to register online before you can play the game (reminds me of Half life 2)