I tend to agree with M.C. on this.
I think it's silly to say that CoD is a bad game, because of the 'random game mechanics'. If CoD didn't have killstreaks, perks etc. I doubt I'd even be playing that game as much as I did, because for me, that is what made the game fun. Sure, when I played it, I played it to win, but more importantly, I played it to have fun and pass some time. If I did it solely for the purpose of competition, I would've participated gamebattles (where there aren't any perks, killstreaks and such btw) or played CS.
I do agree though that the skill gap between good and bad players in a game like CS is bigger than a game like CoD, which is also one of the reasons I don't play CS but play CoD. Obviously, no one wants to get demolished at a game, and it takes more time to get good in CS than CoD, and as a casual gamer, who only plays video games just a couple of hours a week, I prefer CoD. I just wouldn't have time for a game like CS. I did play it A LOT some years back, and the reason why I played it is because I had more free time.
Addressing the last part of your post about getting demolished by veterans of the game - that is definitely a problem with games like CS, but there is a very simple solution, and I'm not sure why developers haven't solved the issue.
All it takes is a working ranking/matchmaking system to ensure that all players are being matched up against similar tiered players. That way, the casual gamers get to compete against the casuals and the upper tier players play against each other. Every one is having fun, and no one should be getting stomped on by players not on their level. This is definitely a reason which hurts the popularity of the game and developers need to look into creating solid ranking/matchamking systems.
I'd bet you though, if you played CS right now against players on your skill level, or with a bunch of your friends, you'd have just as much fun, if not more fun than call of duty. A lot of it does come down to the level of competition you're facing, no one likes getting destroyed by players with lots of time on their hands.