The KeyWiz was designed with a different philosophy in mind.
First, as stated earlier, all possible microcontroller inputs were made available to the user for controls, rather than sacrificing some of them for external functions like EEPROM or pass-throughs. This opened up the first real possibility for a 4-player control panel at a lower cost than ever before, with 40 dedicated inputs available to the user.
Second, as users pretty much never limit the software selection to only MAME, the user will, without exception and regardless of the interface used, need to do one of two things; alter the input configuration for each game / application they use (which must be done for P2 and up in MAME anyway, as it defaults to joystick controls for many of those), or re-program the controller every time a different game/application is used on the system. The former makes the most sense, as the KeyWiz comes ready to use with MAME by default with the exception of the aforementioned joystick defaults. This is the method used by the vast majority of users, as it is no different than mapping any other typical joystick / custom controller to PC applications. But for those who wish to take the other route, the KeyWiz software takes the approach of storing the configurations in SRAM, which while volatile, does not have the number of write operation limitations inherent to EEPROM storage. So the Windows software was written to emulate that function, while still preserving the intent to provide the user with the maximum number of inputs available for their controls.
While the software is limited to Windows users, the hardware works very well on any hardware/OS which properly supports a PS/2 keyboard. Users of other OSes need only to take the most often used (and really, the simplest) approach of defining the inputs for the application to suit the control configuration, which must be done even in MAME, regardless of how the hardware itself is configured.