Давай еще раз разложим "по пальцам".
Наша цель - максимально ускорить загрузку страниц, разгрузить наш сервер и канал до пользователя, чтоб между ними летало как можно меньше информации.
В твоем случае с "умным кэшем" да, немного разгружается канал, НО:
1) Браузер должен послать серверу запрос на файл
2) Сервер должен найти этот файл и отправить обратно браузеру заголовки, в которых в числе всего прочего будет размер и дата модификации.
3) На основе этих данных, браузер решает, грузить, или не грузить.
Если ты проверял сайт без правильных заголовков, зайди на Гугловский ПейджСпид и проверь тот сайт, Гугл будет ругаться на то, что "нужеш кэш"
---
В случае с "правильным" кэшированием, когда сервер отдает нужные заголовки, в которых указано время жизни файлов, браузер при первом заходе скачает этот файл, а далее, все то время, что указано в "жизни" он ВООБЩЕ не будет лезть на сайт и будет использовать файл из своего кэша.
Зачем обмениваться лишними заголовками (на это тоже уходит время), если сразу можно выдать нужный результат?