Don't blame the foreign companies for being really good at what they do.
The domestic carmakers for whatever reason don't make cars people want to buy. In any great # anyway. In the old days, they made junk with 4,000 mile warranties and expected people to just deal with it and the foreign makers gave consumers a choice.
More recently, the domestics made lots of sport utes and ignored the car market where they are getting creamed.
They don't discount Toyota's at the dealer, but you can get GM product at 30% off the list every time, so its not cost that is the issue.
Its quality and/or perception of quality and for that the domestic car makers are failing and they cannot seem to turn the tide.
This is just an observation. I drive GM pretty exclusively because I like to support the North American car industry, but I can totally understand why others don't and I can only blame the Big Three for being lazy.