At least two...
-
The added complexity. Getting the details correct can be extremely difficult. Even for seasoned professionals.
-
Overhead. Entering and exiting an interrupt service handler can be an expensive journey (in CPU time and, to a lesser extent, SRAM used).
Interrupts are like a stick of dynamite. The average person will go their entire lifetime without needing one. But, if you do need one1, you can't live without it.
1 For example, to shift an especially well anchored very large tree stump.