The difference is pretty much what it sounds like. If you had a pension, you knew exactly how much money per year you'd make in retirement (the benefits were agreed to ahead of time). With a 401(k), you know how much exactly you're contributing and how much is in 'your' account, but the value of your retirement accounts in the future is dependent solely on how much you contribute and your personal investing prowess.
As companies and public entities underfunded pensions over the past 40 years, pensions started going bankrupt or dramatically cutting contractually obligated benefits that were to be paid to retirees, so companies began switching to employee-owned plans.
Shifting the burden of investing in retirement to the employees rather than the companies has its benefits but I think we're going to see a lot more elderly poverty as the boomers retire since on average, people are terrible at investing.
I think you're right on a macro level, the tax burden is being shifted to the younger and less politically active, but based on actual legislative action, it seems defense and social issues are more important to the elderly than retirement benefits.
For IBM, any accrued pension remains in a managed fund until you quit/retire. Most employees had a 401k option at the same time as a pension - you pay 6% of your salary into it and the company matches half that, another 3%.
If you didn't make the pension cutoff, IBM now matches the 6% plus some more depending on what date you started. I think it comes out to something like 14% of base pay for most employees. In a 401k, the individual has much more control over investment direction, whereas with a pension you had none.
Basically most companies in the US offer some form of 401(k) with a selected amount of supported funds to choose to invest in, often with some degree of employer matching. Sometimes there are vesting requirements on employer matching. Startups are sometimes likely to not offer any matching.