I can understand the frustration with BF2 and also the points that touch on BF2142. The main difference in
Battlefield 3 that I see is a new way to approach levels. Right now it is all static. No matter how much you pound with your tank on a building or even a flimsy pole or tree, that thing stands there like nothing ever happened. In effect, your actions only influence a very small part of the area, namely the players directly or indirectly (blast from explosives or shell impacts from tanks).
Now here comes
BF3. At first a nice little city or town standing there. Five minutes in you see lots of damage all around, craters, buildings with holes. By the time the round ends, the mayhem has most likely spread over most of the map. Imagine Karkand, but with buildings going to rubble. Cant reach that sniper hiding on that roof, tear down the building on him! People hiding behind a wall, make a hole in it. The train giving you line of sight issues? Get rid of it.
When you play BF2, most of the battlefield is static, bridges (and the occasional boards over an opening) aside, and that has it's pros and cons. You can bet that the opening in the wall to the south in Karkand blows within the first 60 seconds. After that you never have to worry about it being closed. BF3 will make it harder by having the chance that a route you wanted to take is suddenly blocked, a cover you wanted to hide behind is suddenly gone. But also an open space is riddled with craters and debris, ideal for you to hind behind. It works in many different ways and playing will be a lot more interesting over a longer period of time.