I haven't used 'make' extensively until I started tinkering with the AOSP, but isn't the whole point of it to avoid compiling things that don't need to be recompiled? If a file and its dependencies haven't changed since the last compilation, then there is no point in compiling it again.
If the file doesn't need to be recompiled, we don't need ccache. If the file does need to be recompiled, then ccache only has an outdated version.
Does it take advantage of the fact that a large, edited source file may have only been changed slightly?