I'm assuming you're talking about on-die cache that's part of the CPU. In this case, the cache is part of the interface to memory.
(I'm seriously over-simplifying here, skipping over things like pipelines and the fact CPU dies aren't always made of silicon anymore)
Cache holds values so the CPU can fetch them over really short, fast connections on the same piece of silicon as the rest of the CPU. Any time you have to go off CPU and deal with solder joints and motherboard traces and all that, you're making everything slow down because of physics.
Since cache is treated like memory, it just has a basic read/write interface and you can wire up a whole bunch of them off in a corner of the CPU die.
Registers are where the action happens. They each hold a single value, but they're wired up to the ALU and other logic in the CPU.
So, the CPU would grab two values from cache, load them into registers, add them together, store the result in a register, and then write that value to cache.