If a group of ten people all have a one in one-thousand per year chance of a million-dollar loss each year, then their annual premium will be:
10 x 0.001 x $1,000,000 = $10,000 (plus some administrative overhead and assuming a very basic risk model)
It has nothing to do with who is rich and who is poor or making anyone come out ahead of their own losses.
More importantly, each person in this group has a different chance of a million-dollar loss each year, and it's important if you're going to write a policy to get that chance as accurate as possible.
Some members of the pool have a 1-in-1000 chance per year, others have a 1-in-10 chance.
An efficient insurance market assess who has what risk, and offers premium commensurate with risk. If you're one of the 1-in-10 people you pay more.
A risk pool combines resources to pay out for losses that are otherwise individually unaffordable by each member of the pool. It is explicitly not a mechanism - nor is the intent to - have members with wildly different risk exposure pay the same premium. In fact the only way it can sustainably function is if each member's risk level is accurately gauged to some level of precision.
There are risk pools where the intent is to subsidize higher-risk members, where we believe that such subsidy is a social good - health insurance for example is one of those things.
But I don't see a good argument that home insurance is, or should be, one of these types of risk pools.
Insurance is for catastrophic losses. I don't pay for insurance to make a profit, I make it to avoid the large tail loss of having the house destroyed and having to pay the value of the mortgage to the bank.
But that's not what would happen. You would still have insurance because what we really have is 8 billion people in the world (or 300 million in America or 10 million in your state or 1 million in your city or 500 in your neighborhood/village) and each person in that group of people derives some utility from other people in that group not having to pay full price for their broken roof, whether that's because when you go talk to your neighbor he's not complaining about his roof all day or because your neighbor is your doctor and you want him in the hospital instead of running around trying to fix his roof all day or sitting at home wet because he can't afford it. The total amount of that utility multiplied by how much money the entire group makes might be less or more than the price of roofs for everyone in that group.
So it's both. You're trying to discover the network of people (or create/convince that network, sometimes by threat of violence in the case of government-mandated insurance) in whose interest it is to redistribute their wealth to a given person.
Is there some kind of theory of insurance they teach in business class where they explain this "discover the network" idea? It doesn't sound like the common definition of insurance at all.
I believe the perfect information case you say wouldn't happen is exactly what would happen. The only reason we have insurance is that perfect information is impossible in a chaotic world.
My home insurance offer free pest-control, because they know that if this is neglected, it will cost a lot more for them. Plus, it will be hard to prove that it was a cause of the home owners neglect.
At the risk of getting political, (governmental) healthcare is another one, where regular checkups can save you thousands in repair. It might look like a subsidy but in the end it becomes a net-benefit for everyone in the pool.