Might have to do with consumer rights seeming to be in general weaker in the US that Europe?
Don't think they would make an exception just because it would be unusually expensive for them. Also, Ryanair tried to get out of it, by claiming it was "ridiculous" to pay hundreds of euro or more in compensation to people who pay less than 10 for their tickets. (And Ryanair seems to have as an official policy "be the biggest jerks around"...)
As for people sleeping in airports... I guess factors include: Too many people to process for a limited staff. Not enough hotel capacity in the area. Nobody knowing how long it would last, so official closure was only a day at the time usually. Also, if it's their first flight, the airline is likely not responsible yet, as was my experience one time 10 years ago.
Going back to college after xmas I had a 2 flights. My connection (late evening) was canceled without any reason given. As I (as some friends) had flown to that airport, the airline had to up us up in a hotel for the night, while some others that were only flying the last leg were on their own, despite having traveled a couple of hours by bus and/or boat to get to the airport and couldn't get back home that evening. The key apparently was that we "had started our journey with the airline".
Of course you can't change to another airline just because that would be convenient for you. They'll have their own planes (or at least an alliance partner) flying your destination sooner or later, and will eventually be able to put you on one of those... This January I missed my connection in Frankfurt, party due to the heavy snow. Lufthansa didn't care if I was waiting until late evening to fly their plane directly home, or if I took flights (via a 3rd airport) with their Star Alliance parter S.A.S. earlier in the afternoon.