EEPROM is an older, more reliable technology. It is somewhat slower than Flash.
Flash and EEPROM are very similar, but there is a subtle difference. Flash and EEPROM both use quantum cells to trap electons. Each cell represents one bit of data. The presence - or absence - of electons in a cell indicates whether the bit is a 1 or 0.
The cells have a finite life - every time a cell is erased, it wears out a little bit. In EEPROM, cells are erased one-by-one. The only cells erased are those which are 1 but need to be zero. (Writing a 1 to a cell that's 0 causes very little wear, IIRC)
In Flash, a large block is erased all at once. In some devices, this "block" is the entire device. So in Flash, cells are erased whether they need it or not. This cuts down on the lifespan of the device, but is much, much faster than the EEPROM method of going cell-by-cell.
Erasure method: Both Flash and EEPROM erase cells by means of an electric field. I think it is high-frequency and "pops" the electrons out of the cells, but I am not certain.
Other similar devices are EPROM (sometimes UVEPROM) and OTPROM (sometimes PROM). EPROM/UVEPROM lacks the structures that generate the electrical field for erasure. These devices have a window on top, usually covered by a paper sticker. To erase, the sticker is removed and the device is exposed to intense ultraviolet light for 30-45 minutes.
The only difference between OTPROM and UVEPROM is that OTPROM lacks the UV window - there is no way to erase the data. Adding the UV window to the device package significantly increases cost, so there is a niche for one-time-programmable devices.