EEPROM access with serial programming SPI versus EEPROM library

A value wrote in a EEPROM location using the EEPROM.write command of the EEPROM.h library is not read by the "Read EEPROM Memory" command provided in the serial programming instruction set (SPI).
It looks like that those commands access to different EEPROM memories banks.... is it ? The same happens using the EEAR, EEDR, EECR registers instead of the EEPROM.h.

Which device specifically we are talking about?
For Arduino Mega, UNO...with ATmega chip it is exactly same.

I'm confused; how does SPI come into play with the internal EEPROM?