Way back when private companies used to sell flood insurance. After loosing barrels of money, private companies stopping writing flood insurance and changed home owner's insurance to exclude flood damage. Floods are not insurable because they are predictable. Any place that flooded in the past is bound to flood again in the future. Since the hazard is predictable, only people in flood prone areas buy flood insurance. People with hilltop lots don't buy. This results in a situation where EVERY policy holder is going to make a claim. Nobody can afford that. And so no private company will write flood insurance.
This resulted in a hue and cry from waterfront voters for the government to do something. And so Uncle Sam offers flood insurance. And looses barrels of money doing so. Tax money paid by everybody is going to rebuild the property of the few.
Truly we ought to get Uncle out the the flood insurance business. Unfortunately we don't have the votes to do that.
What might work, is a "one-flood" policy. Once property suffers a serious flood, Uncle pays off and then refuses to renew the policy on that property for ever. The owners get paid once, but if they rebuild in the same flood prone place, they do it at their own risk. They ought to rebuild on higher ground so they won't need flood insurance.
Keep this up for long enough, and we won't be insuring flood prone construction and reconstruction.