1) That depends on the core that you are using generally speaking the 3D emulators can have there internal rendering increased, so N64 and Playstation can look a lot nicer than they should, but you need the relevant graphical power in your system. You can also add shaders to any core and there are 100's of different ones, some add scanlines some smooth out 2D graphics some add anti aliasing etc. This is the personal preference thing, only you can decide what looks good to you.
2) The main advantage with mame is you can upscale to 720p with that core, and like all the other ones you can add a shader of your choice to make it look better also. The MAME core in retroarch is also the 0.186 version so is just the same as you are currently using but with the upscale and shader benefits.
Edit:
Also with retroarch your controller will work with every system with very little if any setup, if it's a xbox 360 or equivalent pad it should just work out of the box for all systems.