How long do DNS changes take to reach everyone
Longer than the change takes to make, and the delay is set by a decision you made earlier: the TTL on the record. Understanding that one number explains almost every "I changed it but it has not updated" moment.
What TTL actually controls
Every record carries a time to live, in seconds, that tells resolvers how long they may keep the answer before asking again. A record with a TTL of 86400 can be served from cache for a full day after you change it.
So the change is instant at the source and stale everywhere that already asked. Nobody is doing anything wrong; the resolver is following the instruction your record gave it.
Why some people see it immediately
Because they never asked before. A visitor whose resolver has no cached answer gets the new one straight away, while someone who loaded the site an hour ago keeps the old answer until their cache expires.
That is why a change can look done from your phone and not from your desk, and why asking someone else to check proves less than it seems.
Lower the TTL before you change anything
This is the whole technique. A day or two before a move, set 300 on whichever records the move will touch. Every resolver picks up the shorter value as its old cache expires. By the time you make the real change, the world is caching your records for five minutes instead of a day.
Afterwards, once everything is confirmed working, put the TTL back up. Leaving everything at 300 permanently means more lookups for no benefit outside a change window.
What propagation is not
There is no queue moving your record around the internet, and no button that makes it go faster. What people call propagation is simply caches expiring at different times. A propagation checker showing mixed results is showing you exactly that, not a fault.
Nameserver changes take longer than record changes
Changing a record inside a zone follows the record's TTL. Changing which nameservers a domain uses goes through the registry, and those delegations are cached for much longer, often a day or two, and you cannot lower that in advance.
Plan a nameserver change with more slack than a record change, and expect a period where some visitors reach the old host and some the new. Keeping the old site serving during that window is what makes it harmless, which is covered in building a migration timeline.
To check what is actually being answered rather than what you hope, see confirming your DNS is doing what you think.
Still not sure which way to go?
Tell us what you are building. If it needs less than you think, we will say so.