There's no one site fits all, that's why you probably can't find a straight answer to 'optimization' questions.
For earlier systems/consoles, there's little need for optimizations, since they are emulated full speed, so optimizations will not get you further. In RetroArch, a per-game optimization in this case is the runahead number of frames, to reduce input latency. Here you can experiment and see how the game feels with different values.
For later systems/consoles, there's some room left for performance improvements, so you can try tweaking the Core options to remove/modify some performance intensive options. Not the overall RetroArch settings, since the defaults for the video/audio drivers are ok, though you can experiment with per-system's shaders and per-game run-ahead settings. Maybe some other users have some more ideas on what per-game/system tweaks can be done.
Choosing Shaders can be also done on a per-system (same shader for all games in the system) or per-game basis (i.e. arcade games are not all similar and you may want to have a vertical CRT shader for some, horizontal for others, non for the rest, etc.)
Furthermore if you are in the game, and you change settings in retroarch -- does it save automatically, or do you have to force save it and load it? I guess im just a bit confused on this topic.
RetroArch's settings are saved differently:
input setings are not saved to the main config file, you can save a remap/override (this is RetroArch specific).
shaders are saved separately, from their menu - per game/folder/system/core (this is RetroArch specific).
core options are saved immediately. They are also applied immediately, but some of them require a restart of the core/game (this is RetroArch specific).
'normal' settings are not saved automatically and this
is a configuration set by RetroPie. I advise against saving the configuration after changing values or enabling 'save on exit' - instead save a system override after changing the values. It's easy to revert your changes if you're using an override by removing a file instead of finding the option you changed in a file with hundreds of lines and reverting it.