I've only ever used MAME32. 
Is there something better about using command-line with a front end? Honest question. I've never had any issue running Mala with it. Just Wondering.
I think using a separate frontend is better because you're removing dependencies and are more easily able to use one interface to launch games from multiple emulators.
For example, if I want one frontend interface, but I want to play one game in Retroarch, another game in M2, and another game in AAE, I can do that with a frontend. With MAMEUI or MAME32, that interface is specific to that emulator.
The other nice thing about separating the frontend from your emulators is that you can upgrade emulators without worrying about your interface changing. Not that it actually happens, but if the MAME32 guys decided to completely change their interface to something you didn't like, and a new version of MAME emulated a game that you've been waiting to play, you'd have to accept their ---smurfy--- interface change to play the new game in MAME.
http://qmc2.arcadehits.net/wordpress/