Netcode is a huge topic i won't even attempt to cover. In short, the game is happening on the server, then is replicated on your client, then you make decisions and send it back to the server where it evaluates what could/should/would happen based on what you sent and when. Add unlag functionality on top of that and you better off just flipping the table.
Here's a small window into nature of netcode
http://www.esreality.com/?a=longpost&id=2313076and opinions
http://www.esreality.com/post/2313076/n ... p-cpma-ql/Pistol thing - you are probably overthinking it. You always expect to hit a person. And you always have probability of hitting a person. Once those two align it might seem that you "felt" something when it's really nothing but "dreams come true" moment that occurs some percent of the time.
1. Many people employ conservation of stamina style of play. Fast dodging is very detrimental to enemy's aim. I personally think speed + positioning + team backup can overpower that philosophy. Best answer is always "depends"
2. When you are striking hits you are crippling the enemy by
a) shaking their screen
b) giving them knockback
3) filling their screen with blood
4) racing them to the finish (of health)
If it's a close fight - race fast, don't stop
If it's a long range fight - maybe's it's worth evaluating your current spread and thinking how to decrease it safely. Use the map (obstacles) and have them waste their ammo to finish them safely.
Any fight is a probability standoff. You can do everything right and lose and do something stupid and still win. Trying to maximize your chances is the only thing you can do. The hugest part of this probability is based on your position. Staring a fight with an advantage is way more important than being really good at aiming.