In Europe there are statutory penalties which airlines have to pay when flights are delayed. In the US there aren’t. This should be changed.
Airlines don’t control the weather, but they do control the decision of whether to use hub cities and if so which ones, how much extra capacity to keep in the system, and what contingency plans there are. Plus they have access to plain old fashioned insurance.
I have to admit to writing this grouchily: I was recently delayed nearly a full day on a connecting flight back home, with no compensation, not even for my overnight hotel. But my complaint is legit: It was a connecting flight in a city I have no connection to and which has frequent storms. The airline didn’t have the capacity to run redeye flights during night hours which they normally don’t instead of bumping everyone to flights the next day, and they were in no rush to add extra flights early the next day since once you’re bumped because of weather they’re off the hook and the amount of delay doesn’t matter.
While I was trying to get a new connecting flights they were doing legally required auctions for who gets bumped and having to pay in at least one case $800 a seat, which makes sense because getting delayed generally disrupts the rest of your plans, often the first day of vacation or first day of work back from vacation. Mandatory compensation of people for much less than that but still in excess of the cost of a hotel room is clearly warranted.
Having delay penalties in place would result in some flights being a bit more expensive on their face, but with compensation when delays happened, and many fewer delays and better responses to them. It would overall be saving people a lot in the hidden costs of their inconvenience when flights get delayed. It’s possible that this would result in some airlines going under or some airports getting used a lot less. If it does, that will be a good thing.
Actually Europe has a lot of exceptions to this ruling. Everything considered “gods work” yes bad weather is included and things like union strikes are of higher force and the airlines can’t be made responsible for it. Just to add some clarification to the European regulation. But it at least is easy to look up and compare with one’s situation. But airlines pay if the f up - as long as the passenger asks for it and requests it.
You don't want to create a financial incentive for an airline to take off when the weather is poor. An airline can't change the weather nor can it change how its equipment responds to that weather; all you'd be doing is creating a financial incentive for them to take more risk than they currently would. As Jan notes, European / UK delay penalties don't cover weather delays.