Out of curiosity, what's your issue with it? The way that it handles controls is needlessly confusing and the cores for most systems from the 2000s and on are always dated and shitty, but I haven't noticed anything egregiously bad about it.
I'm not the person you asked, but I do have an example I can bring up to illustrate something I personally get pissy about, and it took a while for me to unravel just how colossal of a fuck-up this is.
For RetroArch I have an Xbox 360 controller plugged into my computer. For the most part the buttons are just automatically mapped. But for certain consoles, such as the Nintendo 64, I want to change what the placement is so it makes more "sense" to me on this different controller layout. I have the controller plugged in. I go to the Controls section of RetroArch and at the top it has identified "Microsoft Xbox 360 Controller" as the input device. The buttons are mapped accordingly. HOWEVER, all of the diagrams and the names of the buttons that are displayed on this screen are apparently for a "RetroBit Controller" (whatever that is). The RetroBit Controller has the same layout as the Xbox 360 but the buttons are labeled like a Nintendo controller. This means the A/B and X/Y buttons are labeled the opposite way.
Let's say I want to change what happens when I physically press the "A" button on the Xbox 360 controller I am holding in my hands, To do this, I need to go to the option on the Controls screen that says B button - not the A button - because on this stupid ass controller that I am not using the A and B buttons are in opposite places. Even though I am pressing literally "A" on the Xbox controller I need to tell RetroArch it's actually the "B" button because the fucking options menu is laid out with the assumption that I am using one specific type of controller. It does this with any controller; I have this stupid Thrustmaster brand PS2 controller that also has a USB plug that works great for emulating PS1/PS2 games. Same shit, the "X" button is still represented on the menu as "B" and so on.
And then, get this, after all of this if I wanted to set one of these buttons to have a Turbo function there is an entire fucking series of hoops to jump through. Let's go back to the Nintendo 64 analogy. I want the "B" button on the Nintendo 64 to be Turbo. To do this I go to the Controls menu, and then for the field that says "Y" button I need to set that to what is physically the "X" button on the Xbox controller to tell RetroArch that this is the fucking "B" button to the Nintendo 64 (because the location of the X on the Xbox 360 is approximately where the B is on Nintendo 64). Okay, good. Now let's set it to Turbo. That's a separate menu. I go there. I have to open the one setting for Turbo and pick which button I want to be Turbo. I have the usual assortment of button names that are on the controller. I pick "Y" because the previous menu relayed to me that on the RetroBit controller Y is actually X on the Xbox and that is the B button on the Nintendo 64. So I pick "Y" and save that.
Except now, on this one specific menu for Turbo function, the buttons to choose from are the ones that are interpreted on the actual Xbox 360 controller and not this RetroBit shit. The RetroBit button layout is ONLY on the Controls & Input menu and now when I am picking a Turbo thing I should've said "X" because X is the button I am physically pressing to do the "B" button on the Nintendo 64 so in this one case and one case only we're pretending we never saw the RetroBit bullshit and now I'm selecting the button on the controller I am physically pressing.
All this is to say that I remember using NESticle nearly 30 fucking years ago and setting up Turbo was a matter of putting a check in a box and it just worked.
RetroArch is retarded in a way that I don't think I can put into words. You just have to deal with it yourself and you'll know right off the bad how fucking dumb it is.