We have two extremes: true randomness and total predictability. If we have lets say 50% to hit and dealing 1-2 damage and the target has 4 HP, we will need about 5 attacks (ranging from 2 to lets say 30) to kill the target. Based on this, we are able to design totally predictable system, when you hit everytime, dealing 1 damage while your target has 5 HP. What system will be more fun? If neither, then pseudo-randomness is solid compromise.