Locality (temporal and spatial)
Beginner
Programs tend to reuse what they just used, and to use things that sit next to it. Caches work because of this habit.
Novice
Temporal locality: data used recently is likely to be used again soon. Spatial locality: data near recently used data is likely to be used soon. Loops and arrays have plenty of both.
Expert
Quantified by reuse distance (distinct lines touched between two uses of a line) and stride. A fully associative LRU cache of C lines hits exactly the accesses with reuse distance below C.
Explained in Caches and coherence (Architectures).
See also: Cache, Cache line (block).