Cortex-M3, Code region vs SRAM/RAM
Instruction fetches from the Code space are accessed via the ICode bus. Access to the SRAM and External RAM space are via the system bus. These regions have different characteristics regarding cache support. This is actually a broad topic and you should read the ARMv7-M Architecture Reference Manual for the details.

As to the "nature" of the memory, Code memory is generally assumed to be non-volatile and on-chip. The SRAM region is assumed to be on-chip but the External RAM is assumed to be, well, external.