There is mounting empirical evidence to suggest that the law of one price is violated in retail financial markets: there is significant price dispersion even when products are homogeneous. Also, despite the large number of firms in the market, prices remain above marginal cost and may even rise as more firms enter. In a non-cooperative oligopoly pricing model, I show that these anomalies arise when firms add complexity to their price structures. Complexity preserves market power and corporate profits by bounding the financial literacy of consumers. As consumers find it more difficult to find the best deal, more of them optimally choose to remain uninformed about industry prices, which ultimately leads to price dispersion and failure of competition. Professional advice (i.e. an advice channel) removes this advantage, unless the firms increase aggregate complexity, decrease price dispersion across the industry, or institute incentive contracts with the advice channel. Because retail markets are extremely large, such practices have important welfare implications.