Old school hardware has a lot of limitations which are challenging, but also makes us get really creative in how we use the limited resources. Creative limitation!
Also, it gives us the sweet throwback to childhood memories…
A ROM is a small file which contains a game. It cannot be used by itself, but must be run through an emulator. An emulator is a program that emulates a specific machine, such as the NES, and is used to load the ROM.
This article is probably better at explaining how it all works: (https://en.wikipedia.org/wiki/Video_game_console_emulator)