I'm relatively new, but isn't it basically a math problem? Or, at least, there is a large math component.

The amount of payout to affiliates <= amount it would cost to get the same amount of traffic yourself.

Meaning; if it is cheaper (both in time and expense) for a site to pay for advertising to get the same amount of traffic that is generated by affiliates; then they may want reevaluate how much they pay out.

In other words, if cross sells and upsells are needed to compensate for affiliate payouts then there might be something wrong with the financial model.