lots of things can cause this.
1) high server ping... your system is to far from the server. typical good play can only be had at 10-100ms maybe 150 max...
2) lots of high ping players on the server... 1 player with a 300 ping is like having 2 players at 150 ping or 3 at 100 so if your on a 32player server and theres 32 players but 3 of them have higher than 300 pings you can add an extra player for each of em. which means the server is trying to cope with in theory more players than it has bandwidth for.
3) fps droop... if your fpps drops your ping will bouce as will your packet data. cod ties its packet data directly to your fps so if you suddenly drop from 200fps to 40 the packet drop will be hurendus. when you jump back to 60-100 the packet loss will stop and you will see people start warping or rubberbanding.
so make sure you limit your fps to a max of 100 and set your packet data to 100 also. this way you will sync every frame.(only works if your gfx can give a minimum of 100 fps)
if you only get 60 or 40 fps then set your packet data to that by using the tild key and entering console to type cg_maxpackets 100 or somthing along them lines... as soon as you type max packets it will tell you the command..
do not drop below 30 and always use a multiple of your minimum fps... not doing so will result in jerky gameplay.