Here is the explanation from Britain’s Civil Aviation Authority.
How long does my flight need to be delayed before I can expect to get assistance?
If your flight length is between 0 and 1,500km, for example Manchester to Frankfurt, you will need to be delayed more than two hours.
If your flight length is between 1500 and 3500km, for example Newcastle to Majorca, you will need to be delayed more than three hours.
If your flight length is more than 3500km, for example London to Delhi, you will need to be delayed more than four hours.
If you are delayed overnight and your airline cannot or will not arrange a hotel, you can make your own arrangements and claim a refund from your airline later. Do not spend more than is reasonable and keep your receipts. What is reasonable will depend on the availability of hotels, but you are unlikely to be fully refunded for 5 star hotels or any alcohol, for example. Try to talk to someone from your airline or check their website before you do this and keep note of any conversations.
These rights apply to all flights from European airports. These rights also apply to all flights to European airports, from outside of the EU, on an EU airline.
Airlines are exempt from these rules in exceptional circumstances when the delay is outside of their control. However, delays caused by labor disputes that result in strikes are covered, according to EU court rulings.
It is worth your time to make sure you follow up with the aviation authorities in the country where you experienced your delay.
Is such a law coming to the U.S. to help American passengers? Don’t bet on it.