Now you played the multi player demo everything is fine...you are spraying head shots "like a boss" but despite your aim being spot on they are just not registering. Then you view your targets kill cam and you notice that you missed everything when it should have hit?
One of the problems could you your Internet connection but in that case I hope you can figure out how to find a correct server to play on.
The other more important "problem" is how your GPU drivers render out frames...which isn't exactly in real time. For Nvidia I know that it defaults to a maximum pre render of 3 frames which can have a huge impact on your game play.
Lets say that your frame rate is 30 frames per second which means that what you are seeing on your screen can be 100ms late even before you count in your Internet latency (which in most cases is less then this). But luckily we can turn it down to 0. For Nvidia go to Control Panel->Manage 3D settings-maximum pre render frames (set to 0).

The lower your frame rate the more impact this will have on you but keep in mind that if it is too low (your FPS) you might have some issues with things feeling choppy. In this case try a setting of 1 or 2.
So to recap; someone with 50ms to your server and 30FPS might have an actual latency (what you see) up to 3x higher in this case because of it. Set to 0.