Server side hit detection: You click your mouse and see a bullet fly and hit your opponent except they weren't actually there because of latency, they were 1ft further ahead/behind and the server doesn't register that player as hit. You then have to lead targets a different amount dependent on their individual latency to the server, which of course is unrealistic and varies from one second to the next anyway. People then don't buy your game because it's trash and you go out of business.
Scenario 2, client-side hit detection: your clock your mouse and see a bullet fly and hit your opponent. Your client sends a hit detection message to the server and the server registers that player as hit, regardless of their latency at the time. People buy your game and enjoy it because they can learn the mechanics and actually play it, rather than being disappointed by having to compensate for your bad net code decisions.