For Bitcoin to go mainstream, there must be incentive for merchants to take Bitcoin over fiat. Better yet, incentive for merchants to decline payments in fiat, and only accept Bitcoin. Unfortunately only illicit markets serve this functionality at the moment..
In order for the internet to go mainstream, there must be incentives for merchants to run their business on the internet than have a brick an mortar store. Better yet, incentives for merchants to have no physical store. Unfortunately only kiddie porn traders use the internet.
NOTE: If you don't know, many NEW businesses where invented by people who saw the POWER of the internent as "brick and mortar" stores lagged behind. Understand that old style businesses do not need to accept bitcoins, new businesses that use bitcoins because its a useful and powerful tool that gives them tremendous advantage over old style businesses.