Just basic things about those memories:
- SRAM : memory for storing your data which are processed during the run time (including also the registers, stack, etc.) - volatile memory
- FLASH : memory which your program stored - non volatile
- EEPROM : memory which can be used for storing non volatile data and changeable during run-time. (for example: setting values, etc.)
if you use WinAVR, it supports good functions for reading and writing the EEPROM.
regards,