A rainbow table is named "rainbow table" due to the lines created on a graph when drawing a continuous line through hash and reduction function chain. The graph can visually appear like a rainbow.
A hash function is a one way mapping, and so is a reduction (attempting to invert the hash function but usually failing).
Think of it this way:
Draw a line from plaintext P on the left to hash output H on the right. Then a line from H back to P2 (plaintext 2 on the left), which is the output of the reduction function over H. Draw a line from P2 to H2 (output of the hash function over P2). Do this for a little bit of the chain, and you will visually have a rainbow.
You can also get banding, when drawing them linearly instead of left to right, when taking closed chains into consideration.
If someone sees such a graph of a rainbow table, that explains the concept directly. Caching in a table is just the implementation.