Just buying real estate for speculation without utilizing it for something can be risky, since you have to pay property taxes on it (and interest if borrowing money) and it may not increase in value as much as you are paying for it. You might get lucky if someone decides to put a major road near it and it becomes prime real estate, but you cannot count on that. It could be different if you have the knowledge to develop it and lease it out for something that can generate income and actually find tenants.
As far as buying a business, it depends whether you have any experience in that type of business and how to run it. What you cannot do yourself, you have to hire someone else to do. And depending upon the type of business you have to be able to effectively collect money from clients.
Why doesn't it generate income? It does when you rent it out. Its not an investment if you are not renting it out in my opinion… if you are just living in it then its just your residence, its not an investment per se.
Where did you get the idea that real estate does not generate income? Ever hear of rent? That's a key benefit of real estate is that it does produce steady income.
Office buildings, apartments, storage units, malls, etc – all have tenants who pay regular rent.
If you are contemplating whether to buy or rent a primary residence, that is a whole different decision.
No good for me, I move around too often….