Using exceptions for control flow can lead to poor performance and unclear code.
Exceptions should not be used for regular control flow because they are costly in terms of performance and make code harder to read. Instead, they should be reserved for truly exceptional situations. In a checkout process, using exceptions to handle normal conditions like an empty cart is inefficient and obfuscates intent.