Battlefield 2 had unlocks but it was done in moderation. It was a long term thing rather than instant gratification. You were not spammed constantly with guitar rift peanut throwing nonsense games have now. It's a formula taking from MMO's. It's kind of sad, like it gives people are a reason to live. Thats why they play, not because Call Of Duty is hardcore or skill based, it isn't, it's about getting your little grind towards progression. In Battlefield 2, this wasn't at the forefront, in Battlefield 3, it is at the forefront, above actual team play. They have just crammed as much convoluted progression crap as they can into it.
I think it's probably a bad idea to listen to "everyone else thinks". EA hyped the hell out of this as a CODVMW. The gaming media done the exact same thing. Generating much a traffic. The reviews done comparisons constantly with afterthoughts and popularity contest. With little kids on youtube saying "dis game sucks COD owns". In the end this is just a big pile of gobblegook crap thats wrong with gaming.