I strongly disagree with most of the opinions posted here. I have played both Counter-Strike and Call of Duty 4, and the reason they are both played is due to the separate crowds each game appeals to.
Counter-Strike is meant to be for extreme gamers. Macro's and binds are massively used, the graphics are relatively simple so that almost everyone can play the game well, it is extremely balanced and no one gun is overly dominating. It has been the number one choice for seriously competitive gamers as it prevents spawn camping due to level design and the ability to fire through walls, the levels are balanced, and the game has been perfected to be the truest test of raw first person shooter skill. The players are extremely competitive, and the only time you encounter people acting like total jerks is in Counter-Strike: Source, as the hardcore gamers prefer Counter-Strike 1.6's balance and the immature kids think the graphics "are gay".
Call of Duty 4 contrasts Counter-Strike in entertainment level. The game has great graphics, has rewards for being skilled, i.e. calling in air strikes/helicopters, and, to a certain extent, leveling up your account linked to your CD Key. However, the implementation of the XP system, the relatively high system requirements, the imbalance which, in the hands of skilled players, can be seriously abused, and the maps in which the starting team on certain sides has the advantage make it a much less competitive game and the contrast skill-wise of the worst and best players is much closer than in Counter-Strike 1.6.
Don't get me wrong, I prefer Call of Duty 4 much more. It's much more fun, but the reason why Counter-Strike 1.6 is still played by many people is that it is a much more accurate measure of skill and appeals to the hardcore competitive-level gamers.