It's hard to tell, what is the best, as every OS has it's own pros and cons.
It depends on your own claims and expectations.
In short, because i do not have time (and desire) right now, to explain/list in detail the differences:
Batocera/Recalbox vs. RetroPie
- Batocera/Recalbox are more user friendly, because many things are pre-configured and work right out-of-the-box
- RetroPie has more freedom in terms of configuration and adding other things (but this also makes it complicated and time-consuming for people who are not so much into it or do not want to take time to get into it)
Batocera vs. Recalbox
- everyone has to decide for themselves, which she/he prefers
- Batocera x86_64 has 3DS and PS2, which Recalbox does not (yet) have (and Sega Saturn also? I do not know, if Recalbox has Sega Saturn emulator already integrated)
- Recalbox has netplay feature
- ... (there are more differences, but as said in the beginning, i do not have time/desire at the moment to list all. best is to test both systems for yourself and see what you prefer. Maybe i'll list a few more differences later, when i have more time and the desire to do it).
If you want more details regarding the differences between Recalbox and Batocera, then you can have a look at all the changelogs from the different versions:
http://batocera-linux.xorhub.com/#news (you should also see older news with beginning in 2016)
https://www.recalbox.com/blog/ (i do not know, if there are other sites with more infos of changelogs from all different Recalbox versions, so you have to look in the recalbox homepage and forum or just use google).
If you want user-friendliness and do not need many or special configurations, then go with Batocera/Recalbox
If you want/need many and special configurations and you don't mind spending time for doing this configurations, then go with RetroPie