hmm, I would resume it differently.
Haxchi is a "launcher" located into a "retail officially bought Virtual console NDS game".
it can either launch a homebrew (usually homebrew launcher itself), without CFW.
OR
patch the firmware to reboot the console into "Custom firmware" (CFW)
Mocha is also a "firmware patcher" to get CFW, but you need first to access HBL to launch it. (edit: or follow what AmandaRose said, replace HBL with mocha, but then you lose access to real HBL unless you install it as full channel, that's a solution for faster CFW without NDS game)
WiiU > HBL > Mocha > CFW
WiiU > Haxchi > CFW
Haxchi is "faster" to access the firmware patcher.
Plus, Haxchi is also faster to actually patch the firmware, it contains less patches.
Mocha has a lot more options that the user has to enable or disable, such as a debugger for developers or for cheat reasons, or redirected NAND, which most users won't need !
while haxchi just do the cfw right away, without waiting for the user to answer some questions.
Finally, Mocha and Haxchi do things differently, they are based on two different vulnerabilities.
Mocha uses lot of "IOSU hax" to achieve things (like internal access, debugger) while Haxchi uses different methods (MPC hook).
Haxchi is fully enough for end users and I don't recommend Mocha for daily patching of the WiiU into CFW.
Final difference is that Haxchi requires a NDS channel to work, while Mocha can be run without buying a game.
But, if your concern is only about byuing and installing a game, and you prefer "homebrew patchers", please, look a OTHER patchers. Mocha is not the only one.
I do recommend these two :
sigpatch2sysmenu : patch the CFW very very quickly without rebooting the console, and exit HBL to sysmenu. Useful to launch a game right away.
sigpatch2HBL : patch the CFW very very quickly without rebooting the console, and return to HBL for you to launch another apps (usually you want WUP installer with CFW support at this step)