I hear a number of common rebuttals to the "U.S. is spending too much on military" thing. One is that the comparison to our allies is unfair because our allies rely on us to protect them. My response to that is, roughly speaking, why are we subsidizing their socialized healthcare regimes? If they really are relying on us for their military protection and using the money they save to do the things of their government, it's basically inevitable that that money is going into government provided healthcare... it's the biggest item on most country's balance sheets. Why are we paying for Canada to have socialized medicine, instead of paying for our own healthcare and letting Canada pay for its own defense?
More broadly though, if you look at what our military is doing in the world today, you'll notice a disturbing trend. What we're doing in Iraq and Afghanistan is protecting and building infrastructure. We are providing public services, free of charge, to the Iraqi and Afghani people. We are building roads, setting up internet, providing police services, and protecting people so that they can build roads, set up internet, and provide police services. The trouble with this, of course, is that these are precisely the things that Republicans don't want to spend more money on for Americans. Why is it okay to do big government spending to support public services outside our borders, but bad inside our borders?