The income generating asset needs to make at least 2% to keep up with the inflation. If you invest your money in S&P 500 index fund which has the annual average return of 10% historically. 2% goes to cover the inflation, 4% goes to your withdraw and the rest 4% adds back to your asset.
The reason for the 4% withdraw is that as you are getting closer to retirement age, you can't put all your asset in the stock market because the market risk. During 2008 crisis, the broad stock market lost 50% of its value, as a person in the retirement or closer to the retirement, you won't have time to recover the loss. That is why you will need to have part of your asset in bonds to offset the stock market risk. Lower the risk translates to lower the return, your return won't be 10% annually. 4% withdrawal rule is based on asset allocating in both the stock and the bond markets.