A decoder is a logic circuit that takes a binary input and activates only one of multiple outputs. It determines which number is represented by the inputs and activates the single output corresponding to that number. There are various types of decoders that can provide active-high or active-low outputs. Different types of memory include RAM, ROM, and hybrid memories. RAM is volatile and loses its data when power is removed, while ROM maintains its data permanently. Specific ROM types include PROM, EPROM, EEPROM, and flash memory, which differ in how they are programmed and erased.