Each task in your schedule is either Automatic or Locked, shown in the "Auto?" column.
Automatic is the default. The task starts as soon as the tasks it depends on are finished, and it moves whenever those predecessors move. This is what keeps your whole schedule in sync.
Locked means the task holds the specific date you set. Auto Scheduling will not move it, even if an earlier task runs late. This is useful for dates that are set in stone, like a contractor's confirmed start date.
If a task won't move when you expect it to, check whether it's set to Locked. Toggling it back to Auto in the "Auto?" column lets it move with its dependencies again.