>>719893067 (OP)
It's really simple.
1. Small threats that you have to know in advance to dodge are fine as long as they are scripted and not randomized. This gives the developer the ability to create intricate combination of minions, projectiles, etc that collectively challenge the player.
Gradius does this beautifully, there are few enemy spawns that comes without warning at first glance you might think they are unfair, but they were not designed to kill you. They are part of a bigger picture will only comes to fruition with other enemies. This is why people find Gradius challenging even though they know where enemies are going to come from.
2. HP bars are inherently unfair. For example, what's the difference between you hitting a boss perfectly 10x and then dodging his attack when he's at full health vs when he's at 10% health? None, you executed the exact same input and the boss executed the exact same strategy but in one instance he's still alive and in other he's dead. The same goes for the boss hitting you. If a boss manages to hit you, then he won that round. HP bar just extend the number of rounds.
3. Stats are inherently unfair. You execute the same sequence of action, the boss execute the same sequence of action, but level 1 vs level 10 lead to different outcomes. Skill is reduced.
I would say 2 and 3 are the biggest source of unfairness in a game.