No. No necesariamente hay que usar el Rollback en los tipos InnoDB. Es una opcion que se utiliza para dejar la base consistente por si ocurre algun error.
Por ejemplo queres sacar $50 del cliente A para depositarlo al cliente B, entonces restas $50, pero si en ese momento llega a pasar algun error, en la base te queda el cliente A con $50 menos y en el cliente B sin los $50.
para eso al principio de una transaccion (querys en este caso), se empieza poniendo
Código PHP:
$mysql_query('BEGIN');
y al final de todo el COMMIT que este indica que se ejecuta todo o no se hace nada.
El rollback se pondria en algun caso donde insertes,actualices o borres y luego pueda haber algun error. En tu ejemplo solo lo hace cuando sale de un else, pero anteriormente no hizo nada. No se si me entendes lo que te digo.
Suerte