Rather, I find it fun because of the technology and the constraints. The NES’s hardware is straightforward and easy to understand (but filled with cleverness and quirks, like all hardware from that era). The software side is primitive — games are typically hand-written in 6502 assembly, and there’s no operating system or standard library to hide the intricacies of the hardware. There’s something really refreshing about taking a break from our modern complicated tech stacks to go write 6502 assembly.
Some games suffer from the hardware limitations, but most are designed around these limitations, and the good games are very fun to play.
For someone like myself, and many other homebrew developers; it’s about unlocking the potential the hardware had. Look at Stunt Race FX for the Game Boy as a perfect example. IIRC, someone just ported DOOM to the bare-bones SEGA Genesis.
Nostalgia is why people play these games. (Well, that and they’re often excellent quality games.)
The challenge, and the learning of low level systems; is why homebrew developers choose these older systems to work with.
Hope that makes sense!