When MAME started, the aim was to make the classic games work on a "modern" machine.
For that, a lot of shortcuts were taken:
- hardcoding some game data / hardware color palette in the code
- giving names to EEPROMS that weren't the most logical
- sometimes the emulator used the Yamaha YM chip from the popular Sounblaster / AWE64 to play the sounds of games which used similar YM chips
The main difference with, say a NES or Sega Megadrive emulator is that MAME is able to emulate a lot of different hardware, and the ROMs that you feed the emulator with is a ROM set (on NES/SNES... it's just a ROM dump of the program code), with roms from all chips included.
When MAME evolved to try to emulate all machines as faithfully as possible and without any shortcuts
- a lot of "common rom parts" were identified so different versions were just an add-on to the original ROM set, without repeating the data. For instance, a "bootleg" version is the original version with just one file changed.
- some more strict renaming rules were decided, breaking compatibility with old .zip archives (tools like ClrMAME exist to "repair" romsets but anyhow it's a mess): the data is almost the same, but somehow renamed or with some small data missing.
- they dropped the YM sound redirection now fully emulated (to be honest, it could be because Soundblaster cards aren't useable on nowadays PCs, but the FM sound was a wonder to listen to)
- even protection chips were emulated instead of just "cracking" the game by code
This allows MAME to emulate the bare metal, without any shortcuts, but since 1996 a lot of archives became invalid, and the confusion was even greater when Android/Raspberry Pi MAME4All version forked from an old 0.37b5 MAME core (newer MAME versions are a lot more CPU intensive) and retained the old versions of the ROMs.
The challenge for the users who need to play all games on the latest MAME is to find a reliable source to download "recent" roms, knowing that it's still barely legal to do so if you don't own the original machine to say the least. Personally I have 2 MAME versions around so I can play some games that I don't have the updated ROMs for.