Well how do you compare a (mosly)solo type of game to a squad game...
There is enough action to draw you into the game that is for sure.
Plus you have dedicated servers so lag is not as much as COD(yeah had to bring that up again )
In BF if you have a friend you can really have some awesome fun with the voip as well, I have not notice any kind of lag when using the build in voip.
There is no denying that both games are awsome but it all depends on your play style if you like fighting in groups bf2 is for you if you like solo and using your own skill cod is better.
Also you don't really feel bad when you loose a match for cod as long as you got kills...
In bf2 it feels bad since there you don't notice the KD so fast. There you get an over all score and not just kills with score and deaths and assists.