Вообще, желательно
прочитать про паттерны, когда вы их применяете. Постараюсь коротко объяснить, хотя тут, конечно, нужно брать
соответствующую литературу и
документацию и изучать тему.
TL;DR
Сервис-провайдер - класс, который загружается первым во всем вашем приложении и позволяет настроить все. Дословно все. Маршруты, мидлвари и так далее. К примеру, те два файла роутинга, которые ты используешь в своем приложении загружаются в классе RouteServiceProvider.
Чуть подробнее. Сервис провайдеры являются ларавелевской имплементацией шаблона
Dependency Injection. Они позволяют на этапе сборки приложения задать зависимости для дальнейшего их использования. Кроме того, сервис-провайдеры, непосредственно, собирают приложение. Любая библиотека для Laravel,
которую вы найдете в интернете, начинается именно с
сервис провайдера, который определяет политику загрузки всего модуля.