As far as I understand, the reason for this is that foreign airlines are not allowed to fly US domestic routes, and most US people don't fly international which means they don't know that things could be better.
It also seems like people in the US to a greater extent than other countries only cares about ticket price, which means that even if an airline wants to improve their quality they can't use it to compete because customers will simply not see them, since they sort by price on the travel site and pick the first one on the list.