Why can US deny airspace to commercial flights? On September 25, 2011 i flew from Mexico City (MMMX) to Frankfurt, Germany (EDDF).

It was a comfortable night flight in a Boeing 747 until we started to fly over the Gulf of Mexico in holding pattern.

After some time, the passengers started to ask what was happening and the cabin crew told, that everything was fine.

After more time the flight crew told, that the United States airspace was denied to our flight and that the crew was doing everything possible to arrive to Frankfurt on time, including the request of permission to Lufthansa central for changing the route adding a refueling stop somewhere.

We threw 18 tons of fuel over the Gulf of Mexico and returned to Mexico City airport.

Mexican federal police entered to the cabin and peacefully took some passengers out.

The airplane was quickly refueled and because the long runway was under a routine maintenance, we had to wait a lot inside the plane.

People got crazy, some passengers were worried about losing connections with other airlines. On the second attempt the airspace was granted and landed in Frankfurt with around 4 hours delay.

Why can US deny airspace to commercial flights?
Every country regulates its airspace. You will find the ones for the US airspace on the FAA website. 

https://www.faa.gov/air_traffic/publications/us_restrictions/airspace/

What went wrong is speculation, but most probably had to do with Advance Passenger Information System (APIS). When filing a flightplan the passenger list is transmitted and the request for overflight was obviously denied.