Whole life is the fixed-everything policy: a premium that never changes, a death benefit that’s guaranteed, and cash value that grows on a schedule printed in the contract (plus potential dividends from mutual carriers, which aren’t guaranteed). You give up upside for certainty.
Indexed universal life trades those guarantees for flexibility: adjustable premiums, an adjustable benefit, and cash value credited by index performance within a floor and a cap. Done well and funded well, it can outgrow whole life’s guaranteed schedule; done poorly — underfunded, unreviewed — it can lapse. The honest comparison is really guarantees versus responsibility.