The differences are typically on whether or not they incorporate the following: - compatibility with particular releases of the CAM - compatibility with particular receivers - update of keys via the remote control - auto-update functionality & keys - resilience against certain signals transmitted by providers to confuse/kill hobby cards
And of course there are different filesets for different types of card, different encryption systems, etc. And they usually have different layouts of key (eeprom) file. That's just an arbitrary design choice of the original programmer.
These features and nuances should be apparent in the packaged "readme" files, or else you need to discover them by trial and error (especially the compatibility issues).