Die Namen sind auch missverständlich.

Bei SIGNAL sind die Interrupts während der Ausführung deaktiviert (Implizites cli() am Anfang der Interrupt Routine.

Bei INTERRUPT bleiben die Interrupts aktiviert. Eine INTERRUPT-Routine kann also von weiteren Interrupts unterbrochen werden. Da das schnell zu einem Stacküberlauf führen kann, sollten INTERRUPTS wenn möglich vermieden und ansonsten sehr vorsichtig eingesetzt werden.

BTW, in den neuen Versionen des avr-gcc ist die Benennung geändert worden. Aus SIGNAL wurde ISR (was IMHO dem Sinn viel näher kommt).