Another reason to disapprove of this program is that the government has chosen to pick winners and losers. Car purchases get stimulated, but other purchases do not. The government is altering relative prices, encouraging them to buy cars when, absent the reduced relative price of cars, people might benefit more from buying new clothes, or a computer, or bus passes, or whatever. Resources are not being put to their highest-valued use; rather, they are going to the use the government favors.
On the other hand, the program has been hailed as one of the few pieces of clearly successful stimulus spending. Tax cuts handed out last summer were mostly saved rather than spent, for example, yet people are scrambling to take advantage of Cash for Clunkers. My in-laws were considering buying new cars at some point, but they have moved their purchasing decision up to right now, rather than later. In terms of economic stimulus, one could argue that this is a good thing--sure, people are just transferring their car purchases through time, from the future to right now, but on the other hand, we presumably need stimulus now, rather than at some point in the future when the economy has recovered.
Why is Cash for Clunkers different? Why are my in-laws running out to buy cars now, whereas everyone just saved the tax cuts? Because this program is temporary. There has been a total of $3 billion allocated to this program, and once it runs out, the program is over. Apparently the temporary nature is enough to get people to run out and buy now.
So why not apply this more generally? Instead of having the government pick this or that place to spend money--on roads here, on a solar power plant there, and on some representative's pork barrel project some other place, why not just give people time-limited cash, which must be spent at retail?
That is, the government could take, say, $200 billion of the stimulus package, and say "Every American may receive up to $1,000 in federal spending for any purchase of their choice. However, once the money is gone, the program is over. If you do not use up your $1,000 before the money is gone, it disappears."
There is no change in relative prices (except for that between consumption and saving, which is part of the point). Retailers would have a form to fill out, similar to that of Cash for Clunkers, which would allow them to receive payment from the government.
One problem is that people might have a hard time tracking their spending. For example, if I buy $800 worth of stuff at Wal-Mart, I have $200 left over for other uses. Costco doesn't know this, so when I go to Costco and try to charge $300 to the government, there will be paperwork and bureaucracy as the government tries to figure out what to do with the $100 overcharge. Cash for Clunkers doesn't run into this problem, since every new car far exceeds the $4,500 maximum subsidy. One solution may be for the government to issue everyone a debit card with up to $1,000 on it, and then when a total of $200 billion is spent, all the cards get cancelled.
There are potential public choice problems, too. This sounds like something politicians would love to abuse. They would probably love to hand these out during booms, too, defeating the counter-cyclical purpose for which I proposed them. I suppose there could also be problems with fraud.
Still, it could be an improvement over the mess that is current stimulus spending, couldn't it? I'd love to hear additional criticism in the comments.