Using Dollars in Foreign Countries is Empathy Cruel
Here in Ensenada, Baja California, México the USD is widely accepted but I still avoid using dollars here. Most places here will accept USD but at a poor rate compared to what I get at the ATMs.
I went to Guatemala from a cruise ship in November and the ship stated the USD was widely accepted. My first stop in Antigua Guatemala was an ATM.
I think paying with local currency is kind of like greeting in the local language. It lets them know you are not the same as many of the here today gone tomorrow tourists.
I agree with this with one exception that normally doesn't apply to street vendors: if the price is quoted in dollars, they should accept them. That said, myself I prefer to pay in the local currency. I think the appropriate thing is for travelers to assume paying in the local currency, unless offered something else. This includes credit. I think in fairness to us, they shouldn't have signs up saying they take Visa if they don't and this includes charging more or claiming the machine is broken.