EEPROMs and Flash ROMs are both electrically erasable and reprogrammable. The differences are that EEPROMs are normally smaller than Flash ROMs; they are normally accessed serially (which is relatively slow) instead of in parallel like Flash ROMs; and they are erased and reprogrammed using a command-based interface; they may be reprogrammable in smaller chunks.
I should have said, to summarise, that EEPROM is used for data storage under program control, and Flash ROM is used for code to be executed directly by the MCU.