Because of innumeracy. You can hide a business opportunity in basic arithmetics. If it's "too hard" to calculate people give up.
I don’t believe the problem is purely innumeracy on the consumer’s part.
If companies clearly stated “A(B + C)” as a price, even people with poor math skills would understand that the price is not “B”.
But it’s more like the price is advertised as “B” and “A(B+C)” only appears in fine print or seconds before payment.
Your comment says you can “hide a business opportunity”. I would instead call that “being dishonest”.
Try this. My cell phone service is AT&T's "Value Plus VL" service with three lines. Tell me my exact monthly bill down to the cent. Do all the Internet searching you need and all the math you need to.
In a world where companies weren't actively hiding what you pay, you would easily be able to do this.