Perfectly accurate insurance pricing would be for each policy to cost exactly the amount of covered losses in the period covered plus the overhead of managing the insurance, which obviously would be pointless.
No, if the expense were that predictable, the best case would be dispense with insurance entirely, since it effects the cost not at all and imposes overhead, especially insurance where the rates are accurately computed over short periods.
Without uncertainty, there is no point in insurance.
1. If you choose not to take out an insurance policy, and instead save the money yourself, you will not have the lump sum immediately available to cover catastrophe. Whereas as soon as you start paying insurance premiums you are covered.
2. The payout you receive when you make an insurance claim does not just come from the premiums you have personally paid. In fact, for a rare event, the size of the payout likely exceed the total cost of all premiums you could pay over your entire lifetime. This is because the risk is pooled over all customers, and not all customers will make claims.
Neither of the above 2 points become any less relevant as the insurance premiums become more and more accurately priced.
What I'd expect is that you pay into the pool and then after 20 years you've more than paid for the new roof and so you get a new roof.
It should be slightly stochastic financing of your new roof and since a roof has a finite lifetime there should be a new roof at the end of it. It shouldn't be "hey, looks like your roof is about to have issues now, and we only insure new roofs, thanks for the profits, byeeeeee...."
If your roof has a finite lifetime and is approaching the end of its life, the cost of insuring your roof will be close to the cost of a new roof. If your insurance company is not allowed to increase your rate to match your risk (which seems to be the case in California), they will drop you as a customer.
Your previous premium payments insured against the risk of unexpected loss during those earlier policy periods only. They have nothing to do with your current insurance rate.