The idea is to have fast compilation most of the time (local dev) and slower/full compilation during the "real" build.
Here's a testing analogy: My CI server runs all tests, every time. My local machine only runs the ones I tell it to run as if I change one small piece of an app then I'm not going to wait for the entire test suite to run.