Eh... sorta almost.
I agree that local multiplayer with friends is more fun.
However, online multiplayer is a lot more convenient.
With a local game, you have to organise a bunch of people to be in the same place at the same time to play the same game. That isn't so hard if you're a kid or a teenager. However, as you and your friends get older and busier it gets exponentially harder.
But with online multiplayer on the other hand you can just jump on and play any time you feel like it. Log in and bam, dozens of servers to chose from. No fuss.
There's also the matter of scale. With online multiplayer I can join a 32 player match of B:BC2 and enjoy an "epic" battle. But with local multiplayer? No chance. Hell, I don't even have 32 friends, let alone 32 friends who play games. And 32 friends who play games and want to play the same game at the same time etc? Not gonna happen. Ever.
Sure, you get idiots and loudmouthed teenagers with headsets and cheap tactics. But that's a price I'm willing to pay. Besides, in my experience, it's not as bad as some people make it out to be. So long as you stay clear of the putrid, seething pit of humanity that is XBL you'll find that most people are at least civil, if not friendly.
I've found something of a happy medium by being a regular player on dedicated servers. (Yes, that's right, dedicated. Screw you MW2.) It's obviously not the same as playing with friends, but you end up getting to know the other regulars and a good time can be had by all.