Yes, so the insurance company should underwrite your roof for a fixed cost (adjusted for inflation) on your home. After 20 years of paying into that pool they shouldn't be able to just drop you now that your roof is old and pocket all the money and walk away and leave you with a roof that needs replacement.
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...."
Insurance protects against unexpected losses during the policy period. An insurance policy is not a home warranty.
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.
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...."