A well designed interrupt handler will handle the interrupt quickly. It should do the minimal amount of work necessary and then return. This is important because typically interrupts are off while in the interrupt handler.
A poorly designed interrupt handler will cause the system to miss interrupts. Missing interrupts could cause critical errors in a real-time system.
However interrupts do mean there is work to be done. So how can the system be both responsive and get work work done?
This problem is typically solved by spliting information capture from when the work is being done. The ISR does just enough to capture the important information from the exception. Then it signals a worker task to do the actual work.