All its advocates get very excited about all the complex automated things it can do, which is admittedly very cool. But for the real world, I'm skeptical that anything more complicated than a basic escrow could work. Once you're talking about real, complex applications (like a DAO), what if there's a bug? Even if bugs are rare, the potential implications when they do happen are so severe that it still diminishes the value of the platform.
And the ability of members to "vote in" new code is no solution. Nobody in their right mind is going to do that without a thorough code audit, which is a pretty high friction interface to what is supposed to be a financial or business instrument. It would inevitably devolve to trusting a relatively small group of "experts", which rather defeats the point of the whole enterprise.
Even worse, voting on updates is broken by design... a majority of participants could collectively decide to screw over a minority and simply steal their assets by voting in a code update.