- All the parts of a user story in one team ("one stop shop")
- Specifically assists delivering n-tier stories in a single sprint (although do you really need that?)
- Fosters inter-tier collaboration and growth of generalist skills
- Supports generalists
As others have mentioned, secondary structures/behaviors that slice the other direction can help mitigate the drawbacks of either system. One interesting mitigating factor is sprint duration. Short sprints render some of the disadvantages of horizontal teams more tolerable. If you can build the backend this week and the frontend next week, that might be fast enough?