Почему у одной компании бывает так много разных команд разработки одного и того же направления?
Всё просто - у Acme вполне может быть много разных продуктов, разработкой которых занимаются разные команды.
Это нормально. Деление же идёт по продукту, а не по направлению (фронт/бэк).

А вот ситуация, когда у компании одна большая команда фронтенд-разработки, которая обслуживает нужды во фронтенде сразу в нескольких продуктах - это уже что-то странное.

Почему сотрудничают с кучей разных аутсорсинговых компаний - фиг его знает.
Если "Acme" - это очень большая международная компания, то разные подразделения следует воспринимать как независимые компании со своим собственным менеджментом и своим финансированием.
Что значит по одному?
Десять проектов разных это десять фроонтендевелоперов , или вы думаете один девелопер потянет десять проектов?