There are two types of interrupts: hardware interrupts and software interrupts. Hardware interrupts are signals from devices like keyboards and mice that require immediate processing by the CPU. Software interrupts are requests made by running processes to execute another application. Interrupts allow the CPU to interact with I/O devices without waiting and improve system performance. Interrupts can also be prioritized and some can be masked, or ignored, which is not possible with an alternative polling method of device handling.