The Basics
Stopping power
Every round that hits an enemy has some degree of stopping power. If you land a shot to the chest, the enemy will lose most of his mobility for a brief moment. Once an enemy is hit with a round, it will make each subsequent shot a little bit easier to hit as the target will be moving fairly slowly.
Landing a shot also impairs the vision of the target. If someone nails you in the head, your vision will instantly tilt as if you were resting your head to lie down. It is a very short effect, but it will have a serious impact on your aim until the affect is finished. Most public servers do not play with friendly fire on (the server setting that decides whether or not shooting your teammates will inflict damage). Luckily there is no stopping power involved in shooting teammates with friendly fire off, but it will still trigger the impaired vision effect.
Movement
One of the most basic, yet important things to remember is how mobility affects accuracy. Remaining still and crouching will do wonders for the accuracy of almost all CS weapons. Staying still does have its obvious drawbacks when trying to avoid enemy fire. It is a risk versus reward factor that will end up rewarding you more often than not.
Ideally, it should become second nature for you to crouch while firing if your enemies are unaware of your position. This will result in faster kill rates with fewer shots fired. You can often get away with crouching in a normal firefight too since many unskilled opponents are unable to adjust their aim to compensate for recoil. You can kill these opponents while their shots paint the wall above you.
Of course, there are times when there are simply too many enemies to handle, and mobility while firing is more beneficial. A good example would be the middle indoor area of Dust (commonly called the "H"). The last thing you want to do is become a sitting duck with five or more guns pointed in your direction.
Burst Fire
On the subject of weapon accuracy comes burst fire. Burst fire is a method of fire where you add a very brief pause between a small series of shots, giving you enough time to recover from the weapon recoil. On the same token, firing pistols at a slower rate will prevent the gun's recoil from becoming a big factor. Whether you are moving, standing still, or even ducking, the first round in a series of shots will always be the most accurate.
Firing all automatic weapons in two to four shot bursts will keep your shots in small, accurate groupings. Going "full auto" (holding down the fire key until the clip is empty) is not recommended unless you're at extremely close range or if you're familiar enough with the gun to correctly compensate for the recoil.
You can get a feel for how quickly and how inaccurate your shots are by looking at the expanding crosshair while you're firing. The larger it expands, the more inaccurate the shots will be, and the longer it will take for the crosshair to contract to its normal size.
Accuracy shots
In this guide, we'll show you just how inaccurate each weapon can get. We have screenshots for each weapon that show a comparison of bullet marks left on an outside wall of cs_office. For pistols and shotguns, the bullet marks from left to right reflect a single shot, then a double tap, a four shot burst, and then a full clip. For all other weapons, the bullet marks from left to right reflect a single shot, then a three shot burst, a six shot burst, and a full clip.
On a technical level, all bullet marks left on walls are merely a client-side prediction of where the bullet was projected to hit. The server, based on information sent by the client, decides the actual impact point for each bullet. However, the bullet-spread screenshots do reflect the degree of accuracy (or inaccuracy) that goes along with each weapon.