Care to explain why? I'm not a big fan of the Call of Duty series (although the first two games were fantastic) but I don't get all this hate towards their single player campaigns.
I think that the problem is that most people approach the game with unrealistic expectations. It's not an open world game, it's a linear cinematic shooter. Everyone saying that the game was bad because it was all scripted or because they hit some invisible walls are not being fair.
I haven't done the Modern Warfare games, but I have mentioned BF:BC2. I think the big issue isn't that they're linear, but rather that they're forgettable and bland. It's not like Half-Life 2, or the old Medal of Honor: Allied Assualt, or Red Faction, or even Halo, where we have characters we care about and a story we want to see through and bad guys to bring down.
All of these "modern warfare" settings fall flat. It's all deserts, Koreans, Russians, terrorists, and sometimes they go somewhere with snow and do it all there too. Who are we playing? Nobody special, the rookie, he doesn't become special later on either, he's just kind of present in gunfights. He's not really a
character at all. No Gordon Freeman, no Master Chief, no Parker. Just a nobody, and not even a nobody done right like in Allied Assault where you at least had a compelling story and setting (compelling at the time) to back you up.