Auto Scheduling automatically schedules your tasks based on the dependencies you've set up between them. When one task moves or its duration changes, every task connected downstream shifts with it, so you don't have to manually adjust the rest of your timeline every time something changes.
For example, if Windows is connected to Roofing and Roofing runs three days late, Auto Scheduling pushes Windows and everything after it back by three days automatically.
You can turn Auto Scheduling on or off for the whole schedule using the Auto Scheduling button in the Scheduler toolbar. When it's on, every task follows its dependencies by default. If you need a specific task to hold a fixed date instead of moving with its predecessors, you can set that individual task to Locked. See "How do I lock a task to a specific date?" for the steps.