There's 2 different hook functions. Both have different things that can be done with them.
The registerHookFunction is pretty much for repositioning text whereas the registerEventHandler is for creating loops, listeners & handlers for various things. Also you can create as many loop functions as you like & you can also unregister loops too with the unregisterEventHandler function.