The tax code is a hodgepodge of rules that are often tough to explain.
The reality is that it's our Congress that writes the tax code, and they often have conflicting goals among themselves.
In theory, someone said "How about we force withdrawals at some point. After all, these are retirement accounts, not 'give your kid a huge inheritance account'." And the discussion continued from there. The age 70-1/2 was arbitrary. 70 happens to be the age for maximum Social Security benefits. But the average retirement age is 63. To make things more confusing, one can easily start taking IRA or 401(k) withdrawals at age 59-1/2, but for 401(k) as early as 55 if you separate from the job at 55 or later. One can also take withdrawals earlier from an IRA with tax, but no penalty using Sec 72(t) rules (such as 72(t)(2)(A)(iv) on Substantially Equal Periodic Payments).
To add to the confusion, Roth IRA? No RMDs (Required Minimum Distribution). Roth 401(k), RMDs once separated from service. Since the money has already been taxed, it's the tax on the growth the government loses. My advice to the reader would be to move the Roth 401(k) to a Roth IRA before 70-1/2. My advice to congress would be to change the code to have the same rules for both accounts.
Whether one agrees that a certain rule is 'fair' to them or others is up to them. I think we can agree that the rules are remarkably complex, from origin to execution. And a moving target. You can see just from the history of this site how older questions are often revisited as code changes occur.