A mask ROM gets its contents at the factory. The 1s and 0s are set by the photographic masks used to make the chip: a stored 1 is a connection that exists, a 0 is one that doesn't. Once made, the contents are fixed forever.
It's the original, simplest member of the ROM family, and it's non-volatile in the strongest sense: there's nothing to leak or wear out.
Trade-offs:
- Cheapest per chip in huge volumes, since there's no programming step.
- Expensive to set up: a custom mask must be made for each set of contents.
- No fixes: a bug in the stored data means making new chips.
So mask ROMs suit products made by the million whose contents never change, such as character tables or the firmware of a simple toy. Everything else moved to programmable parts: PROM, EPROM, EEPROM and flash.