Usually that's a good thing, but, if the board is about to power itself down somehow, it can be a trap. In such a case, one needs to wait until the write actually completes before powering down, and the eepromWait() function will do that.
Given that standard IXM boards have no way to power themselves down deliberately, it's hard to show a simple example of this risk. In this example, a sketch writes to EEPROM and then reenters the bootloader to 'reboot'. Since reenterBootloader() doesn't actually power down the board, the eepromWait() isn't strictly needed here -- the EEPROM will finish its write cycle even while the rest of the system is rebooting -- but it's cautionary and comforting, and harmless given that an extra few milliseconds before rebooting won't bother anybody.
// Eeprom sketch 3: Reboot on 'b' packet and count those reboots #define DATA_ADDR 2001 // Any number in 0..eepromSize()-4 (since sizeof(n) is 4) u32 readCount() { u32 n; eepromRead(DATA_ADDR, (u8*) &n, sizeof(n)); // Read count from EEPROM return n; } void writeCount(u32 n) { eepromWrite(DATA_ADDR, (u8*) &n, sizeof(n)); // Write given value eepromWait(); // Let write finish - just to be safe } void doReboot(u8 * packet) { writeCount(readCount()+1); // Increment count reenterBootloader(); // And die } void setup() { Body.reflex('b',doReboot); // Create the reflex } void loop() { if (buttonDown()) { println(readCount()); // Print current count while (buttonDown()) delay(1); // Wait for button up } }