Something I think I knew, but forgot, and rediscovered only with Rival Schools. MAME is extremely sensitive to ROM quality.
Some ROMs will play on some versions of MAME and crash others, because someone didn’t put all the right files inside.
The correct albeit slightly more annoying way is to get an entire romset, look up the names of the games you want (they are usually 8 characters long and not very descriptive, so you’d better use an online DB) and keep only those.
Another peculiar bit is that MAME doesn’t differentiate between BIOS and ROMs. So you need to put your BIOS in the same directory. And of course you need a lot of BIOS, for different platforms.
Also, Retroarch by default doesn’t write logs. Which is a problem, since different games crash MAME for different reasons. Logs can be enabled in Retroarch settings, though.