in order to launch HBL, the first launched application (haxchi or browser) need to patch the firmware to allow userland code execution. then it can launch the HBL.
If you re-run the exploit, it crashes the console because the system is already patched.
To prevent having to check if the system is already patched and re-patch it while not needed, HBL is temporarilly placed in MiiMaker channel (before the real MiiMaker app) so you can launch it without doing a re-patch (and freeze) of the system.
Haxchi or Browser -> [userland system patch (not kernel CFW patch) -> put HBL in MiiMaker -> Run Miimaker ->] HBL
All the
[ ] part is unseen by the end user so you think haxchi launches HBL
If you want to launch HBL again, you need to launch MiiMaker.
if you want to really access MiiMaker, launch it and exit HBL, it'll continue the execution of the real MiiMaker.
If you install the HBL Channel, it's an unsigned channel and you'll need kernel level CFW signature patch to launch it.
Haxchi can do it, launch haxchi with A button pressed (default config) to patch the system menu and return to system menu. it looks like nothing happened, but you are now in CFW

you can now launch any unsigned app/homebrew channels until you shutdown the console or access vWii.
The HBL app is inside the HBL channel. no more MiiMaker involved, and you can launch HBL channel as many time as you want.
the CFW patch must be done only once (haxchi + A for CFW, or haxchi + no button for userland and HBL in miimaker). running the same type of patches (user or full cfw) more than once freeze/crashes (haxchi/cbhc/mocha/sigpatch2xx/etc.) use only one type until reboot.