I know ROM is Read Only Memory which in this case is the game in question, Emulator, Emulates an operating system and Homebrew is a program that is capable of hacking in to an existing OS. the only reason im having difficulty understanding is because i am a visual learner and as a result reading things takes longer to process for me.
A rom for a emulator is a Copy of the game in question in the form of a file that is used by computers. Just like when you create a back up of a iso using the cd disc drive to make a iso or BIN/CUE File to use in a Virtual drive emulator or Reburn too a blank cd rom, Roms are used in emulators to play the games on, instead of the actual console is self.
Gameboy color roms use the extention of "Super mario bros. deluxe.GBC" in order to know is a gameboy color rom and will work in gameboy color compatible emulators.
Emulators are programs used to play the roms so you may play the games on, emulators are used mainly on pc computers but can also run on various game consoles using homebrew loaders and other stuff like cellphones and tablets like android and ios systems.
Using a exploit in some games, it is possible to run homebrew launcher to play emulators on nintend 3ds systems that can play these roms without much restrictions to nintendo restrictions.
All games on nintendo eshops are installed using a encrypted data format that is not easily altered unless compressed or some other method is discovered. The files known as cia are how the data to play games on 3ds are stored before extaracting itself on the system and having acces to them. The files are always encrypted and not as easy to alter and is not the common way to mod data.
If you have any other questions about this, Please use the NOOB POST QUESTIONS THREAD For more answers.