To answer your first question, if IsKeyDown is true, then actions and subevents of it will be run every tick that it is true. IsKeyPressed is only activated once for the entire time that the key is down. Other than that they should act the same. Both may even be first activated on the same System.tickcount, but I haven't tested this yet.
I haven't experimented with the Gamepad.axis yet to know how that works. Have you already checked out the manual entry for Gamepad