Two devices, two clocks
A camera and a separate recorder each count time with their own crystal. They are close, but never identical, so a long take recorded on both slowly separates. The same applies to a phone voice memo laid under camera footage. If you are joining two such files, Sync separate recordings measures the drift between them automatically.
Variable frame rate
Phones and screen recorders often save video at a variable frame rate, speeding up and slowing down to save power. Some editors read such a file as if every frame were the same length, so the picture runs slightly fast or slow and drifts against the sound. Footage that drifts in one editor but plays fine in a browser usually has this cause.
Sample-rate mix-ups
Sound recorded at 44.1 kHz but labelled or treated as 48 kHz plays about 9 % too fast, which is far too much to miss. Smaller mismatches come from devices whose actual rate is a little off their stated one.
Dropped frames
A recorder that drops frames under load (a busy computer, a slow card) loses picture time without losing sound time. That kind of drift jumps rather than creeps, and a straight-line correction only partly helps; re-record if you can.