Lots of bits of truth above, but lets cut to the chase: it's a foreign country. They have their own currency and that's what they use. Most people and most businesses in Turkey do not want foreign currency, any more than a sandwich shop in your home town would want someone to come in and try to pay for their meal with Turkish Lira. So generally, in Turkey you should be prepared to deal with Turkish Lira.
Yes, there are exceptions: businesses that deal entirely or largely with foreign tourists may have prices posted in foreign currency - though rarely in US Dollars. Usually Euros, sometimes Russian Rubles, and occasionally UK Pounds - it depends on the location and what kind of tourists they get there (in Antalya, sometimes called "Cuncun for Russians", we saw plenty of menus in restaurants with prices in Rubles; in other holiday towns where British expats dominate, we saw bars with prices in Pounds). As a rule of thumb, if I see prices in some foreign currency, I figure it's a bad deal.
Those places may grudgingly accept or actually want Euros (and maybe some other currencies) will give you a horrible exchange rate to compensate themselves for the inconvenience, so you are pretty much always better off paying in the local currency. Yes, inflation is bad there, but unless your trip to Turkey is very long, it won't impact you.
The one business I saw that wanted nothing to do with Turkish Lira were the balloon operators in Capadocia - they insisted on payment (in cash) in Euros or Dollars. Other than those guys, I don't recall ever seeing a business openly offering to take US Dollars.
Bottom line: Yes, you will need some cash. That cash should be what everybody else is using: Turkish Lira. Personally, I try to put everything I can on a credit card (important detail: one that doesn't charge a foreign transaction fee), and always, always make sure the system is charging you in the local currency, not offering you the "convenience" (a v-e-r-y expensive convenience) of paying in your home currency.
When in Rome...pay in Euros. When in Turkey...pay in Turkish Lira.