They allow a gamepad to send keyboard/mouse commands by mapping each key, e.g. on an old Playstation pad you could map the X button to right mouse, so you could fire, and left analog stick to mouse movement, R1 for F (use shield bats). Completely customizable.
For even more customization you also use AutoHotKey to remap certain KB keys, assign more than 2 alternative keys etc.