I think the following are just as, or even more, common reasons than the above three, but they are not as simple and require the concept that the ROMs are stored in ROM sets (aka zip files) and that there's a difference between the ROMs dumped and the zip files, and that the phrase "update the ROMs" assumes there isn't. The first three are more the official reasons though.
4) The first PCB dumped was a hacked mixture of ROMs from different sets, and the original sets were found and dumped. So the old zip is "split" into two sets each with its correct ROMs (plus the new ROMs). (Notice the ROMs themselves don't change, but the zip files do.) This is close to 1), except the dumps were correct; the PCB was wrong. It's also debatable that this "wrong" set should be emulated too, but that's a separate issue.
5) A new PCB is dumped with a non-dumped ROM set that is determined as a parent set, so the old parent becomes a clone. (Notice the ROMs themselves don't change, but the naming and which ROMs goes into which zip change.)
5a) The ROMs or zip file were named unconventionally, and it was decided to name them correctly. (Notice the ROMs themselves don't change, but the naming does.) This would include when old zip files are reordered in which is the "parent" and which are the "clones" when there is not a new dump.
None of these have the ROMs themselves changing, but all have the zips changing. And all cause people to say "update your ROMs".
added: If a Rom was listed as competed on the first version of MAME than it would work with any modern emulator now right? 
In general, the ROM will (probably) work, the zip file might not. You'll need something like CMPro to put the ROM in the right zip.
In the case of pacman, it's done a bunch of all (1-5a) changes, so the original zips from the beginng of mame will not work.