Well, the biggest adv is that it is non-volatile. Both SRAM and DRAM lose data when power is removed. DRAM loses it in every read operation! So thats where flash is helpfull. Disadv is that it is slower
flash memory basically has non volatile memory.
you can store your programs that create variables and constants in ram .
ram can be many types ...sram,dram,sdram,ddram..
now-a-days nand gate memory is in use which is better than flash memory