Вы должны (как минимум) включать любую зависимость, содержащую файл класса Java, на который непосредственно ссылается ваш код. Поэтому любой класс, на который ссылается ваш источник, должен быть определен.
Это создает определенную инкапсуляцию определений зависимостей; Ваш проект отвечает за определение своих собственных зависимостей, и они снова определяют свои зависимости. Это то, что зависит от mvn: анализ говорит вам.
Максимум немного менее четко определен и обычно определяется необходимостью. Несколько библиотек могут зависеть от разных версий третьей библиотеки. В этом случае вы можете либо подавить один из них, либо просто включить правильный в свой пом. Версия в вашем собственном pom будет иметь приоритет.
А иногда вам просто нужно что-то включить, чтобы получить соответствующую версию (на ум приходят драйверы баз данных).
Но минимальный список зависимостей четко определен.