These are fairly common questions, and they've probably been answered in some other convenient format elsewhere (maybe the wiki) but here goes.
Anyway, the problem is that emulation is a moving target, so whenever you get a version of MAME, you've got to find the ROMset that was current at the time that version of MAME was compiled. The reasons for such incompatibilities are many, but let's say joe arcade mechanic dumps a new ROM from one of his machines and gives it to the mame developers. Say there was a problem dumping the ROM, perhaps it was incomplete in some way.
The mame developers may attempt to use the ROM image even though it's incomplete and build a decently working emulated machine around it. (this is sometimes why colors are off in some games-the ROM information for the proper color is missing)
6 months and 3 releases of MAME later, someone else comes along and properly dumps the ROM. Now MAME needs to be updated and the old version of the ROM invalidated.
So if you get the new version of that ROM, even though it's now 100% correct, the old version of MAME will reject it because the checksum of it is different than the one it was used to. You likewise can't use your old ROM on the new mame because it's not the right ROM that it wants.
Enter CLRMamePro. CMPro can dig through your entire ROM collection and based on the .dat file (which is nothing more than a big list of ROMs and their checksums) can rebuild a ROM set for any corresponding MAME version. So if you were to get a ROMset for 112, but wanted to run MAME 63, all you'd need to do is locate the .dat file for 63 and let CMPro reduce your 112 set down to something that will work on 63.
It's not a perfect solution though- any ROM, like outlined above, which was re-dumped and replaced in a later ROMset will still be broken because you'd now need to locate that broken dump to play it on an old version of MAME.
CMpro will of course tell you what you're missing, and there really aren't THAT many roms that have been redumped and replaced. Trypically, going from a new ROMset back to an older version of MAME is simply a reduction in ROMs, with very few missing pieces required to get a complete set.
hope that rambling helped some.
-jeff!