Проблема без стартеров: для веб-приложения нужно подобрать версии Spring MVC, Jackson, сервлет-контейнера, валидатора — совместимые между собой. Ошибка в версии проявляется странными исключениями в рантайме.
Стартер — артефакт без своего кода, который тянет нужный набор библиотек. Версии берутся из BOM spring-boot-dependencies, который подключает parent spring-boot-starter-parent или плагин Gradle. Обновил версию Spring Boot — обновились все библиотеки согласованно.
Автоконфигурация реагирует на появившиеся классы: добавили spring-boot-starter-data-jpa — на classpath появились Hibernate и HikariCP, и Boot создаёт DataSource, EntityManagerFactory и менеджер транзакций.
Частые стартеры: -web (MVC и Tomcat), -webflux (реактивный стек и Netty), -data-jpa, -jdbc, -security, -validation, -actuator, -cache, -test (JUnit 5, Mockito, AssertJ, Spring Test).
Свой стартер для общих библиотек компании: модуль с классами @AutoConfiguration и файлом AutoConfiguration.imports, плюс модуль xxx-spring-boot-starter, который зависит от него и нужных библиотек.