I don't see why Ethereum-based insurance contracts necessarily lock money.
For example, the contract could give another address the authority to take risks with some percentage of the deposits, or pretty much any other arbitrarily complicated setup.
If the money isn't available (i.e. locked up in some way by the contact), then the contract cannot guarantee to pay out, making its promises worthless.
If you have to rely on a human being to decide to pay out, then the smart contract part of the deal is pointless.
The address given authority to invest the insurance float doesn't have to be controlled by a human—it can represent some other arrangement, for example a stake-voting investment scheme.
It doesn't matter how many hops there are between the insurance contract and the money, if the cash isn't sitting idle on the blockchain, the insurance contract cannot guarantee to pay it out.
Just like how if an insurance company has invested part of its float in bonds, it cannot guarantee to pay for all losses simultaneously... right?
I'm trying to understand what you think is the essential difference between an Ethereum-based insurance scheme and a traditional insurance scheme in this respect.
I'd guess it's a combination of
(i) there's a not unreasonable belief that a human (or a trading algorithm that evolves over time according to human input) can do a better job of managing an investment portfolio than an immutable "contract" algorithm
(ii) insurance companies tend to be much larger and better diversified than an individual insurance contract on the blockchain
(iii) insurance companies are often considered to be "too big to fail" by governments even when they do screw up...
For Ethereum-based smart contracts you can probably throw in (iv) Ethereum-based asset classes are riskier than many liquid investments available in dollars, and even if you can write your smart contract to seamlessly exchange the cryptocurrency float for nice, safe Federal Reserve bonds and convert back if and when more of that float is needed to pay claims, you've got more counterparty risk and exchange rate risk than carrying out the same trades purely in dollars.
I have a feeling that people tend to underestimate the role of "semi-trusted" actors in the future of cryptoeconomics.
In other words, I think that indeed most interesting applications won't be pure on-chain algorithms. The computational power is extremely limited. On-chain bookkeeping is extremely useful as a base layer, but the real intelligence will always have to come from elsewhere.
(For these reasons, many of my blockchain friends consider "smart contract" a pretty stupid catchphrase, preferring instead to talk about e.g. "dumb durable software objects".)
So, for example, consider an insurance contract structured as a "DAO", where some combination of stake and reputation translates to influence in investment decisions. Obviously there could be enormous problems with that, but it's also an interesting possibility, and I predict that such experiments will keep happening and we will learn more about collective decision-making etc.
For example, the contract could give another address the authority to take risks with some percentage of the deposits, or pretty much any other arbitrarily complicated setup.