If you spread the responsibility for delivering a feature across several teams, you get multiple, additional potential failure points. This massively increases the likelihood of not getting the job done.
Why?
Because each of the teams has different priorities.
And don’t underestimate the increased complexity coordinating these teams, as well as the handoffs between teams that create additional friction.