On the contrary. People have options for cars. You don't have to buy a specific brand or a specific model. If every car's price is listed publicly, then consumers can easily shop around for the best price, and it would be difficult for a dealer to get away with overcharging everyone with a publicly listed price. People just won't buy from a dealer with inflated prices.
When there's price negotiation, dealers mostly win at that game, because they usually have far more information than the consumer.