Le principal interet des interruptions et qu'il n'est pas nécessaire de tester un évenement pour l'utiliser. En effet, si on veut qu'une action se passe par exemple après un intervalle de temps donné, on va mettre du temps dans une horloge. Mais on ne va pas tester l'horloge à chaque tour de boucle, on va simplement ne rien faire :) car dès lors que l'horloge arrivera à zéro, le Saturn va aller exécuter la routine de gestion des interruptions qui comportera l'action a effectuer.
Le détournement des interruptions peut donc être interessant quand on doit tester régulièrement des évenements mais pas suffisament souvent pour l'inclure dans la boucle principale d'un programme. Par exemple, imaginez un programme devant gérer toutes les touches du clavier. Si le programme ne sert quasiment qu'à ¸ca, ce n'est pas très utile de détourner les interruptions. Par contre, si les touches sont pressées très irrééulièrement ou si le programme demande une bonne optimisation car comporte de nombreux calculs, il serait pénalisant de tester toutes les touches à chaque tour de boucle (qui coresspondt souvent à un rafraîchissement écran soit 1/64° de seconde) alors qu'on pourrait ne les tester que si on est sur qu'une touche a été appuiée. Dans ce cas, le détournement peut être très bénéfique du point de vue des performances.
Il y a bien évidement beaucoup d'autres exemples montrant dans certains cas la nécessité de détourner les interruptions. Mais attention, il ne faut pas non plus les détourner à tout bout de champ...
Pour finir, je voudrais signaler que dans certains cas il est inutile de détourner les interruptions, il vaut parfois même les inhiber partiellement ou totalement.