What was the cause of the delay in those instances when AA and DL paid for your room and gave you a food voucher? Was it a mechanical problem or otherwise the fault of the airline (ie, not weather)?
Airlines are only required to pay for a hotel if the cause of the delay was within their control, ie a mechanical, scheduling, or crew scheduling problem. In the case of a delay caused by weather, the airline doesn't owe you anything. If AA or DL gave you anything for a weather delay, it was a goodwill gesture.
But the airlines aren't totally heartless -- two weeks ago I was on a flight that was delayed for 3 hours because the FAA stopped ALL flights from Florida to NYC due to a severe weather system. I, along with many folks who missed connections, weren't able to schedule another flight out of EWR until the next day. No matter how nicely I asked, I got no compensation for a hotel or meal (and I'm Gold with Continental). BUT- an elderly couple who was in line in front of me at the service desk did get a hotel voucher from CO. So they're not totally heartless