To be fair, it sounds like it happened at SFO, so it was in the US. However, it was a Canadian passenger, and on a Canadian carrier.
I think that the airlines know that most passengers won't have the time, resources and know-how to pursue such matters in small claims court. So they deny compensation to everyone, and pay out when called out on it from time to time. They still save loads of money over what it would cost them to actually handle these situations appropriately in the first place. PLUS... they get to make extra revenue selling products like On My Way.
If this sort of thing were illegal and they were subject to mandatory compensation regulations like in the EU, we would see a lot less of this.