It's not just vertical integration for the sake of it. There are many, many, many things that are simply made easier by having every component able to talk to eachother. UE5's particle system can talk to the sound system back and forth, which can trigger gameplay events and send data to the renderer, etc. This leads to extremely complex interactions being rather easy to do, and that is exactly what large games want nowadays. You don't want to painstakingly time your cutscene to begin exactly 2m15s after the beginning of the level because you know that's where the song will begin but shit wait the intro can loop, no, you just have a gameplay event that starts the sound, the sound regularly says "hey, if you're ready, please trigger the cutscene now" and everything works together.
Getting this with a bunch of libs glued together is simply impossible. This is a design that was thought of for years before it happened properly.