Bundling exploits heterogeneous willingness to pay
When customers value products differently, separate pricing leaves money on the table. Customer A is willing to pay 100 for Product X and 50 for Product Y. Customer B is willing to pay 60 for X and 80 for Y. If you sell separately at 60 each, Customer A buys X, Customer B buys Y, revenue is 120. But if you bundle both for 120, both customers buy the bundle and revenue is 240. The bundle succeeds because it exploits the correlation: customers with low willingness to pay for one product tend to have high willingness to pay for the other.
Mixed bundling is more sophisticated than pure bundling (all-or-nothing) or unbundled pricing (always separate). Offer the bundle at a discount, but keep the individual products available at higher prices. This captures three segments: customers who value one product highly buy alone; customers valuing both benefit from the discount; and price-sensitive customers can buy the bundle instead of nothing.
When bundling fails
Bundling only works if the products have negatively correlated value. If everyone wants both equally, unbundled pricing at 60 each is better than bundling at 100. If everyone wants only one, bundling destroys revenue because customers are forced to pay for something they don't value.