シューティングなんかで言うと、弾や敵が出現しては消えていきますが、それらを全て処理しようとすると、
FOR I=0 TO 511
IF SPUSED(I) THEN ~
IF SHURUI[I]==1 THEN
TAMA_MOVE(I)
ELSEIF ~
~~
NEXT
みたいに毎回多くのループを回して処理する必要があります。
コールバックを使えば、例えば弾を発射した時に、
SPSET 3390 OUT SP
SPFUNC SP,"SPF_TAMA"
のようにして、敵は敵で"SPF_TEKI"などのようにしておけば、あとはループの中で一回だけ
CALL SPRITE
と書けば、勝手にユーザー定義関数(DEF SPF_TAMA)の中身を処理してくれます。