Keeping it simple to start: RAM is read/write memory used for instant access. It holds variables, programs, key assignments, and other data that keep changing. It can be written to as quickly as it can be read, unlike any kind of PROM (programmable read-only memory) including flash which have slow write times often in the thousandths of seconds instead of billionths of a second (not that anything on the slow HP-41 happens in billionths of a second-- I'm just speaking in general terms).
ROM holds the operating system (OS), and in the case of modules, OS extensions and applications that don't expect to ever get changed. Bugs usually show up after they're out, but hey, what can I say. Even on a desktop PC where the OS is on a hard disc, the BIOS (basic input/output system) is in ROM, and that holds the programs that tell the computer how to even read the disc and keyboard and feed the monitor.