https://en.wikipedia.org/wiki/Cache_coherence
From what I have read it appears that the cores we typically run today, use snooping, constantly listening for interesting changes to other core's caches. Clearly this doesn't scale, you don't want to listen to cache traffic of 200,000 cores. So they have a centralised 'directory' to manage cache coherency. The directory system has higher latency, presumably every load/store has to send a message to the potentially distant cache directory manager.
Does anyone really know this stuff, I would be interested to hear a more knowledgeable take on it :)