I don't see why both things can't coexist.
The reason they can't co-exist is because a transaction consists of two parties, not 1 and those parties might have conflicting interests.
For example, lets say I'm a retailer accepting Bitcoin for a certain clothing line that's highly competitive. I am rapidly gaining marketshare due to a new innovation I launched but I don't want to draw my competitors attention to this by "poping up on their radar" and allowing them to measure my income.
If only some of my customers transactions are opaque then thats enough for my competitors to notice a "trend" because they will be able to measure an increase in my company's relative revenue, even though they can't determine my absolute revenue.
On the other hand, when trading within a fully "dark" network, I would enjoy a comparable level of commercial privacy as is currently offered by today's fiat system. My competitors would not be able to determine any significant knowledge about my income until I filed annual accounts with state / national tax authorities.