Didn't care for the single-player, way too linear. And yeah, the way enemies pop up is annoying.
But the multiplayer is very good once you get into it - you get sucked in by the level progressions, wanting to try that next weapon, etc., leading up to a Barrett .50 rifle and then an MP44 at the highest levels. On a pure gameplay/physics level, I prefer Rainbow Six: Vegas, particularly in single-player mode. But with multi, the advantage goes to COD4.