Cache memory vs shadow RAM
Cache is a special kind of memory that sits between adressable memories (typically RAM, ROM, ...) and the CPU. The CPU never accesses these adressable memories directly. Instead, it makes requests to the cache, which either delivers the contents immediately if it has it available, or, if it is not the case, then accesses the RAM/ROM/..., updates its internal content (eventually discarding some older contents because cache is small), and deliver the content back to the CPU. In short, cache is a very physical thing. It is implemented on the silicon of the processor.

Now, shadow RAM is more a concept than a physical thing. It represents an area within the normal RAM where the system will make a copy of something it regularily needs. But this relates to a task done by the BIOS/OS, not the processor. For example, the BIOS code is stored in ROM, which is slow. To speed up things, the whole BIOS ROM contents could be copied to RAM which is faster than ROM. This is often the kind of things we refer to with the term "shadow memory". But actually, the definition is not as clear as the "cache" concept.