Probotector (in Europe), or better known as Contra in the rest of the world (or as Gryzor for European home computers), was an Arcade title published in 1987, though the NES port from 1988 is probably more well known and what people think of when talking about the game. It’s a run’n gunner (no meelee attack) and it’s one of the most ball-breaking difficult games of its type. Not sure if I would call it unfair, almost every situation is doable with good muscle memory and superior skill, but damn is the game unforgiving hard.
Still, what makes people come back to the game is both the great gun action and the insane variety: lots of different environments, deadly traps and swarming minions, many bosses and sub-bosses with their own unique attack patterns. There’s a ton of stuff packed in a short amount of time and coupled with the usually good controls makes for a fun experience (more or less depending on how you handle the difficulty). While the game is usually a side-scroller, it has two pseudo-3d levels that are kind of interesting. Not my favorite by a long shot, but the ingenuity of the gameplay shows just how willing the designers were to try out off-the-walls stuff.
The NES had three versions, the American one with human sprites, a Japanese one similar to the American one, only with more story bits (fan-translated three times over the years, most recently by Stardust Crusader in 2013 (if you want to play this translation you need the FCEU core in Retroarch, most others can’t handle it)) and the European Probotector variant with all the human exchanged with robots. This is only flavor stuff, the gameplay is the same in all three versions.