Most checkouts accept one discount code and refuse a second. The restriction protects the arithmetic behind each promotion rather than the retailer's goodwill.
Promotions are budgeted individually
Each offer is planned with an expected redemption rate and an expected cost, and that cost is set against the additional sales the promotion is meant to generate.
Allowing two offers to combine breaks both budgets at once, because neither was priced on the assumption that the other would also apply.
The rule is therefore a control on promotional spending rather than a judgement about the shopper using it.
Margins are thinner than they appear
Retail margins on many goods leave limited room once shipping, payment processing, returns and handling are deducted from the sale price.
A single discount can consume most of what remains, and a second can take the order below the cost of fulfilling it entirely.
Selling below cost is occasionally deliberate, but it is a decision a retailer wants to make on purpose rather than discover afterwards.
Some combinations are permitted by design
Retailers frequently allow a promotional code alongside a loyalty reward or a store credit, because those are funded differently and serve different purposes.
Manufacturer coupons often stack with store promotions for the same reason: the manufacturer bears the cost of one and the retailer bears the other.
Grocery stacking rules are usually the most detailed for exactly this reason, since both funding sources appear regularly in the same basket.
Exclusions carry more weight than codes
Codes routinely exclude sale items, specific brands or entire categories, and those exclusions are where a promotion's real cost is controlled.
A brand insisting its products never appear discounted will impose that condition on the retailer, and the exclusion list is the result.
This is why a generous code frequently fails on the item a shopper most wanted it for.
Reading the rules before the basket
Checking the exclusions and the minimum spend before assembling an order avoids the common experience of a code refused at the final step.
Where two offers exist and only one may be used, applying each in turn shows which produces the lower total, since percentage and fixed-amount discounts behave differently at different basket sizes.
A fixed reduction usually wins on smaller orders while a percentage wins on larger ones, and the crossover point is easy to find with two attempts. Splitting a large order into two smaller ones occasionally lets a fixed-amount code apply twice, where the terms permit it.