The main reason it's easy on retropie and complicated on recalbox, is that retropie sits on top of an existing OS. That OS already has the compilers to add anything new, so they just have to script the copiling and tadaaaaa

That's not our case. We use something called buildroot which is something that can cross-build a linux for any system (pi, x86 allwinner etc ... anything almost). To add new softwares (don't expect buildroot to provide emulators haha), we need to write packages telling buildroot how to compile. That's the main difficulty. As long as an emulator/game exists on Linux, we have to write a package telling Buildroot how to cross compile it for our target architectures (so far : pi, xu4, and x86 is on its way). That can be tricky (most packages need some patching on their makefiles), takes days, sometimes weeks to be able to do that.

Next, to make the recalbox magic work (= coniguration-less emulator) you have to understand how the configuration files are generated, how they handle input devices, where they are stored etc ... Sometimes it's quite easy, sometimes it's a real pain in the @$$ (i'm talking about PPSSPP ... took me weeks). From time to time we have to patch the emulator to fit our directory structure.

It takes time, our free time that we spend (and even devote !) to recalbox to make the magic happen