You changed an A record an hour ago. Half the world sees the new IP; half still sees the old one. That's propagation, and it's entirely a caching phenomenon — not a routing delay or a global "update."
Why the delay exists
Every DNS record has a TTL (time-to-live) in seconds. Recursive resolvers respect that TTL and cache the answer for exactly that long. When you change a record, resolvers that already have the old value cached keep serving it until their cache expires.
If your TTL was 3600 (one hour) when you made the change, the worst case is one hour from the moment any resolver fetched the value. In practice, low-TTL records (300, 60) propagate within minutes; high-TTL records (86400) can take a full day.
Diagnosing in real time
Our DNS Propagation Checker queries 12 public resolvers in parallel and reports each one's answer. Rows that agree = caches that have already refreshed; rows that disagree = caches still showing the old value.
Speed it up
Lower the TTL before the change, wait a TTL cycle, make the change, then restore the original TTL. This is the standard "TTL flushing" pattern. It works because the lower TTL propagates by the same caching mechanism — just faster.