Launchbox is a front end for whatever you want it to be, be it Steam games, SNES, or whatever. What'd you end up doing is pre-configuring your specific ROM set to run on a set emulator (Retroarch in this case), and then you set up to choose which core Retroarch uses for each game type.
Then on an individual game basis, should one game run better on another core than all of the others -- or it just doesn't work at all via traditional scrape loading in Retroarch -- you can use the command line to have it run on that core anyway, saving you from having to go through the ridiculous trial and error process of choosing a game, choosing a core, discovering that the game doesn't work with that core, scrolling through your list of games to find that specific game and remove it from the list, going back to your game directory to find that game so you can add it back to your list, trying that specific game with another core, and then discovering that the game won'r work with that core either.
You'll also avoid the "load core" and then the "load game" steps which would inevitably get the aforementioned game to work with the prior emulator cores you tested that take an eternity on their own since Retroarch bastardized the XMB layout.
You just plug in some fields, click some stuff with your mouse, and then launch your game from the Window or, if you (unfortunately) pony up some cash or win a contest, in Launchbox's big picture, "Big Box" mode.
But this is just Launchbox specifically since it's the one i have experience with; other front ends also ease the frustration in setting up Retroarch cores and tying them to roms. Haven't tried EmulationStation myself, but I hear it's just as annoying to set up, if not moreso due to how controller configuration works.