Зачем папка assets в laravel?
В папке /assets, как правило лежат нескомпилированные стили и скрипты. Coffescript, sass, less...вот это все. И по идее нужно настроить Elixir (надстройка над гульпом), чтобы он отправлял в /public уже сконкатенированные и минифицированные файлы. 
Такие дела, надеюсь, прояснил.
Поскольку в современной разработке большинство проектов делаются с использованием препроцессоров и сборщиков, в папке assets лежат исходники, а при помощи elixir (или любого другого инструмента) они собираются в public.