I don't have an Ipac but I do have a keywiz.
The shifting difference is that
with the IPAC. There are two actions to it.
1 action to cause the Ipac to "Shift" into secondary mode (This would be alternate inputs defined somewhere?) and the other would be the actual button.
example. Escape input is defined as "Shift" and player 1 Button 1. So to escape the game. You have to depress the "Shift" button and then depress the 1 button. 2 different actions.
The keywiz has a "Shazaaam" button. This only requires 1 action to accomplish the same goal. You assign, through the keywiz program, that when the "Shazaaam" input is grounded (Which is what all the buttons, including the Ipac, are actuated off of) and the actually input (could be any button) is grounded, that will cause the secondary function. Basically, you hit 1 button once and it will cause it to actuate the secondary function. (Off of the top of my head, I don't remember if it stays grounded while it isn't depresses untill another button is pushed? RandyT? I think it does though)
But there is a trade off for this. If you use it like this you have to use two wires for every button that uses the "shazaaam" function. You also must use a diode in series with each wire.
If you don't plan right, you can cause problems, because when the button (with the two wires) It will shift all the inputs into secondary mode. So if player 2 is playing with you and you have escape mapped to "Shazaaam" and player two button 1 and you press coin1 which is mapped to "Shazaaam and any other button and player 2 presses button 1, it will escape the game. Confused yet with that huge run on. Sorry. Both the Ipac and the keywiz would be effected by this but it would be easier to do it with the keywiz.
Both work great and both have great customer support but if you live in the states, the keywiz is cheaper.