Battlefield 2 is basically just Counterstrike all over again. It's got a lot to recommend it, but in the end, it's fundamentally the same thing: a game which makes me angry, and ruins my mood. I think I should probably learn my lesson here, realize that online competitive FPSes are just not my bag, and never buy another one. Yes I enjoy them when I do well, and I did frequently do very well at BF2. In fact, when I do well in an online FPS it's one of the most enjoyable gaming experiences I've come across. But, there's other things I enjoy doing, and those things don't come with the risk of making me extremely irritated.
It's also worth pointing out, that BF2 might still be playable if not for the fact that it's unstable, has awful netcode, and loads as slowly as any game I've seen in the past five years. Generally I can assure myself a good gaming experience if I find the right server, where the teams aren't getting stacked, the server actually works correctly, and the server's settings aren't irritating. Unfortunately, it takes about 10-15 minutes to determine if a server is going to be any good. It takes at least 5 minutes to connect, another 5 minutes to get an idea of how the battle is going, and if the teams are any good, and even then, it takes a while for the game to stop lagging constantly, as it always does when you first connect. That's leaving out the situations where the game simply crashes out, or hangs, when you get done loading a map. The net result, is that you often need 45 minutes to find a decent server, and sometimes there simply isn't one to be found. With Counterstrike, at least, one could simply jump on a server, start playing, and see rapidly if the server would be any good. If not, try another. It's simple enough to try a server every minute or two in CS.
I still have to recommend BF2 to fans of online FPS games. It's a solid game, with good graphics, a breadth of weapons and vehicles, and interesting gameplay options. However, it's just not worth my time, and I learned my lesson with CS. When a game starts to piss me off, I stop playing, and BF2 has gotten to REALLY pissing me off of late.