What each contract is for
Annuities exist primarily to manage longevity risk. The contract pays as long as the annuitant is alive (or for a defined period), which is something no equity portfolio, IUL, or other vehicle can replicate cleanly: only an insurance carrier with a large mortality pool can underwrite an open-ended income obligation.
IUL exists primarily to provide a permanent death benefit with a tax-advantaged accumulation layer attached. Retirement income from IUL is optional, accessed through policy loans, and not guaranteed for life the way annuity income is.