What makes a shooter feel good
Two shooters can fire the same weapon at the same damage and rate, and one feels satisfying while the other feels like nothing. The difference lives in a fifth of a second.

The 200 milliseconds that matter
When a player pulls a trigger, the game has roughly a fifth of a second to convince them something real happened. What fills that window is not damage. Damage is a number the player infers later. What they feel immediately is a stack of small, mostly cosmetic events arriving in a specific order.
The muzzle flash and the fire sound land first, effectively instantly. Then recoil moves the view. Then the impact: a decal, a particle, an impact sound that is different depending on what was hit. Then, if the target is an enemy, a hit confirmation, usually a distinct sound or a brief visual marker.
Remove any one of these and the weapon feels weaker, even with identical damage. Remove the hit confirmation specifically and players will report that the gun is underpowered, because they cannot tell whether they connected.
Recoil is a readability tool
Recoil is usually described as difficulty: the gun kicks, you fight it. That is the smaller half of what it does. The larger half is that recoil is proof of force. A weapon that does not move the camera reads as a toy regardless of the number attached to it.
The useful distinction is between visual recoil and actual aim deviation. Visual recoil moves what you see. Aim deviation moves where the bullets go. Games that feel punchy but fair tend to use generous visual recoil with modest aim deviation, so the weapon feels powerful without becoming unpredictable.
Recovery matters as much as the kick. A weapon whose view returns smoothly to centre feels controlled. One that returns instantly feels artificial, and one that does not return at all forces constant correction and becomes exhausting within a minute.
The arena is doing half the work
A shooting range with targets on a flat wall will never feel good, no matter how well tuned the weapon is, because there is no tension in the space. Feel is relational: a weapon feels powerful relative to what it is being used against and where.
Cover creates the rhythm of peek, fire, retreat, which is what makes a firefight feel like a firefight rather than a sequence of clicks. Sightlines determine engagement distance, which determines which weapon feels correct. Verticality changes what recoil costs you. A room with no cover turns every encounter into a pure reflex test, which gets boring quickly regardless of how good the gun is.
How to diagnose a weapon that feels wrong
Work through the stack in order rather than adjusting damage, which is almost never the real problem. Can you hear the shot clearly over everything else? Does the view move? Do you see something happen where the bullet lands? Do you get a distinct signal when you hit an enemy rather than a wall? Does the view settle back somewhere comfortable?
The first "no" in that sequence is usually the whole problem. In practice, missing or indistinct hit confirmation accounts for most complaints that a weapon feels weak.