Saying they shit the bed is far from the truth. The engine does a lot of things right, but what it got wrong it got wrong in a really bad way.
It's just one of those things they had to deal with transitioning over to a new game. When your tools are in flux, functionality is more important than optimization.
For example, deploying Halo 2 matchmaking updates literally broke the game when they deployed them. You'd end up in alternate playlists, with broken settings, each time it updated. By the time the playlist iteration tool was on the Reach version, they could deploy playlists nearly at will with no interruption, could have them shut on and off automatically, etc. This was due to experience but also building out the toolchain and utilities to speed up deployments, testing, automation, etc.
There's also the fact that Destiny areas have to be aware of objects and things that can spawn outside of them. I can almost guarantee one part of the long compile times is that it's cross-referencing all object interactions for the final build, you can't just change things without that change being considered by everything.
Hell, I have a game I made that takes 15 minutes to compile changes just for the scripts alone because every single script in the game must be compiled to change a single line. That's just the way that particular engine is designed.
Their iteration capability is speeding up as they acquire institutional knowledge on all it's features and quirks and the util buildout continues.