I will go to Canada for the first time from the United States. I will use credit card as much as possible but I guess I need cash for small shops and cafes anyway. To avoid exchange money back and forth and ATM fees, I plan to cash some money in USD and carry it with me. As of today, 1 CAD = 1.0086 USD so it should be easy to convert currency. Do small retail stores in Toronto accept USD in cash? If so, how are their exchange rates?
In most border towns you can, further away not. Sometimes they might also give you small change back in CAD, or charge you a small fee for using USD.
If you exchange the money in a bank you will get a much better rate. Try to pay with your Credit card whenever possible.
No. I've lived in Montreal and Toronto and the occasional place will take US dollars, but most places will just laugh at you, perhaps in French. If they do take it, they might give you 80 cents on the dollar or so.
Just use credit for everything. There's really no reason not to.
Usually, yes. But now that the US dollar isn't more valuable (and is fluctuating wildly from week to week) I've noticed more places not taking it or taking it at a steep discount. You won't get the value you used to out of it.
It's always a good idea to have some local currency on hand no matter where you're going. A credit card will also work, though there can be fees and poor exchange rates on that too depending on the card. Also if you intend to use it, call up the credit card company and tell them where you're going so you don't trigger an anti-fraud security check.
Anecdotal answer: I've been in Vancouver a week now, and noticed I keep being given American coins as change. Certainly the pennies, nickels, dimes and quarters seem interchangeable; the locals never even blink at accepting them.