I am someone who has actually developed games and has seen what MS provides to devs for "free." It is really nice that they've built a whole infrastructure for online play, such that the devs can basically flip a switch and boom, you have online play in your game. Things like TrueSkill matching happen behind the scenes and they just work. I have no idea how Sony does theirs, but Xbox devs don't have to pay for any of this, so they've pushed the cost onto the players who are actually using the service. It sort of makes sense; the more people that are using it, the more money is coming in to help maintain it.
XBL multiplayer is so seamless and works so well that I have no problem paying for it. I also like the fact that the online play in X360 games from 2005 still works. Namco doesn't have to maintain servers for Ridge Racer 6, as XBL handles everything automatically. Surely, that is worth something. So I pay for it.
I understand why there are people who are at odds with the idea, especially the folks who've been playing on PC for years. But if you're developing a PC game and you want online play in it, you've got to set up servers and you've got to maintain them. Xbox Live negates that need. If you're a dev, and all you want are leaderboards and peer-to-peer online play on Xbox, you don't need to maintain anything. Microsoft runs the servers, the players pay for it, and you get it for free. Interesting how things work...