Having not pulled apart the android versions but having done it on several similarly powerful systems over the years is where I am coming from here.
Generally speaking it is done in one of three ways
Straight emulation. Consider also that many SNES games appeared on the PC, the amiga, the megadrive/genesis, the PCE/TG16, the arcades and so on and so on so it might not be a SNES emulator. Equally it might not be the best version of the game that is used.
Remake/port. The game's assets are ripped, regenerated or otherwise obtained. The game engine is then rewritten and then the game made that way. This was more common for the likes of the GBA and back in the Saturn era where emulation might have been tricky, see similar things happening now for PS1 and PS2 era games. A lot of the time if the game is an RPG it will have been ported, certainly most times you see Final Fantasy, Phantasy Star or anything else really from Square (Enix) it will be a port.
Some combo of the two. This can be enhanced emulator or emulated but large tracts of the ROM rewritten. Not especially common and I would be surprised to see a lot of it happening for android but things like the N64 Zelda games that were emulated on the gamecube are a good example -- several assets and graphics features were changed to accommodate emulation. More common though is music is ripped from a game and stored as a wave rather than track/sequence and played at the appropriate point in the emulator.
On the SMC format then.... popular thought has it that ROMs are direct copies of the contents of the ROM chip. This is true in some cases but systems like the NES and SNES benefit from extra info in headers to cover what sorts of games they are (the carts could and frequently did have a wide array of extras onboard), info that the actual ROM contents would not have had (no need to do such a thing).
On the NES it was largely mappers but the SNES has special chips http://wiki.pocketheaven.com/index.php?title=SNES_games_with_special_chips
Over the years the SNES ROMs pulled out of emulated collections have varied somewhat, I am fairly sure this is not going to be an official Nintendo affair. This can shake things up a bit further.
"I want to see how everything works together, including the controls, and ads and stuff."
There are many ways to do this. The controls are probably just inputs mapped to whatever control methods the emulator it is all wrapped in supports, unless it is a port in which case it is standard controls and programming. Adverts.... personally I would probably make it work like achievements and cheats and read off a value in memory and load my advert function accordingly, of course that is effort* and no programmer wants to make effort so I would imagine it is some kind of timer affair that is hopefully set up to display an advert that does not interrupt too much of the game.
*not to mention it probably violates a patent somewhere.
Troubleshooting means you need to find a way to debug Android programs. It is easy enough if you are actually writing a program but I have never come the other way and wanted to hack an android program outside of a bored 5 minutes when I thought I would try it out on http://www.android-x86.org/
Android emulation of the full CPU and more side of things is happening though, I have even seen android programs have PC ports by trying to use one of the emulators *spits*.