Flash and EEPROM usage

Am I correct in my understanding that EEPROM is fully available to use as I see fit (via the API calls), but use it in a way that minimizes frequent re-writes to the same location ?

Also, about the on-chip flash memory (32K in this case). Is that protected, and reserved for the compiled sketch storage (and not available for app data storage) ?

TIA

As for the first one, yes. It has limited write times and also, all data saved here will be there after a reset or power on/off.

Second, http://arduino.cc/en/Reference/PROGMEM