I still think you are missing the point. Yes, the payment comes from the company however it is part of a deferred compensation.
I hire you to fly my plane. I will pay you $500 today OR I will pay you $350 in cash, $50 in insurance and $100 toward your pension. It is all YOUR money but you decide how you want it. Why this way? Because you don't need all that money right now, you don't want to pay taxes on it and I get to deduct it from my taxes.
Pensions are NOT paid for by the employer. It is money that you set aside for the company to pay you LATER.
There is no such thing as a free lunch and that includes a pension!