A bit of "back to basics" may help.
ROM stands for Read Only Memory. Read only, can't write to it
- ROM being read-only, is only appropriate to store stuff that you don't change.
RAM stands for Random Access Memory. Read or Write, randomly accesses.
- RAM being random access which is any order of access is supported and both reading and writing are supported. But - it remembers only for as long as it is powered on so it is not appropriate for stuff that it needs to remember even if it is not powered.
So in the old-days with things like Operating System and application programs which isn't suppose to change, they get stuffed in ROM. Present day you have software updates, so the software industry want "ROM" that can be updated be it infrequently. So these days ROMs are "mostly read" and "occasionally written", slower to access but remembers even when power is off. Stuff like flash memory and EEPROM fits the bill nicely - cheap but read is practically unlimited where as after too many writes (thousands to hundreds of thousands times) it would wear out . You can be sure there are other kind that could support that, but flash/EEPROM is typical.
When your program is running, the have stuff it needs remembering as the program works. For example displaying a video on YouTube. Which dot displays red or green or blue or off changes depending on the frame of video you are seeing - and it changes hundreds of times in minutes. The program needs a place to store temporary information as it work to "expand" the streamed information, expand it to a picture and to draw it on the screen. Also, the program doesn't need to remember what was on the screen a few minutes ago so remembering is only to remember temporary. Thus, ROM (read mostly) is not appropriate: good in remembering but can't write often. Even worst, in the process of expanding the streamed information, you may have "temporary values" that may change thousands or millions of times a second. It needs something that can be read in or write out quickly and and do millions of write every second without wearing it out. That is where you can't use stuff like "mostly read rarely write" flash/EEPROM. You need RAM, fast and practically unlimited read or write to store things that a running program needs to store - temporary.
Since RAM is a good bit faster than ROM, besides temporary values, the program itself is transformed from "being stored" into "able to run" format and moved from ROM (being stored) to RAM (being run) when the program runs. So every program steps (instructions) can be read fast - so as to run millions of program instructions every second.
Whether you fit it in a box, a button, or a stick, that is just how you house it. In the same housing, you could have other things so the reference to "stick" is the physical shape, not necessarily what it does. Memory stick typically refer to flash drive. Stick computer is of course a stick housing enough memory (both RAM and ROM and may be eMMC), processing power, input/output capability, etc., etc., to call itself a stick computer.
eMMC is flash made to store stuff like a disk/disc. Typically (suppose to be) somewhat better than USB "memory stick" in balancing wear so it doesn't wear out as easily. So, eMMC is a cheaper imitation of SSD. A real SSD is flash designed for storage like magnetic disc with durability similar to magnetic disc; may be not as good but good enough to be competitive with magnetic disc.
Hope this helps in your understand in ROM vs RAM.