In the article explaining dependencies, we saw that tasks with dependencies automatically moved when predecessors were affected.
This only happens if the task scheduling mode is set to automatic. Basically there's two kinds of scheduling modes: Manual and Automatic.
If a task is set to manual scheduling, it will not move even if any predecessors are moved beyond the dates of the task. The task will only move if you manually move either the start of end date.
If a task is set to automatic scheduling, it will respect all changes made to predecessor tasks and take into account the lead/lag on any predecessor links.
Visually you can spot the difference between automatic and manual scheduling of tasks. Manual tasks appear like regular bars with rounded corners on the Gantt chart, where as tasks that are set as automatic scheduling will appear with pointy ends.