It's nice that a number of devices can share an interrupt - you can have more devices.

It's bad because when an interrupt occurs, you don't know who (i.e. which device) caused it or why. On an interrupt, additional interrupts are automatically disabled - interrupt handlers aren't themselves interrupted. The interrupt handlers of the associated device drivers for an IRQ are started one at a time, probably in the same sequence each time, and interrogate the associated device to see if it was the one that caused the interrupt. If not, the next device's interrupt handler is started. If so, the event is recorded, the interrupt condition in that device is reset, the next operation if any may be started, and interrupts re-enabled. If other devices had a pending interrupt the interrupt handling process (as above) would start again. Otherwise, whatever process was originally interrupted would resume.

The disadvantages of sharing interrupts are that 1) it takes longer to figure out what caused an interrupt and 2) that some devices, in effect, get preferential treatment. For good performance, it's important to arrange the sequence of device drivers so that the most frequently interrupting devices are serviced earlier.