I will only believe in financial investing because it remains largely hidden from prying eyes. A simple rule is that you should have more money invested than you have spent thoughout your life at your age. My estimate is that a kid born today needs at least 15 crorers to live an average life. To have that kind of money you need to earn 20-25 crorers in future due to taxes that need to be paid. Add kids and freeloaders (wife and parents who will live off your income) to the equation and costs mount.
There is more. 90% of Indian workforce is in unorganized sector where there is no pension, providend fund etc. This is another reason why people should stay away from real-estate because it will get you killed as sooner or later these 90% are going to look for suckers to rob. Real-estate is not something you can run away from easily. Envious people will create problems around where you live and, if this is the only asset you got, then you have a nightmare to handle in retirement. With stocks and bonds, you can move anywhere you want and not even tell your kids about the assets you have. You could even convert your stocks and bonds to a trust fund to save other liabilities (probate, financial lawsuites, etc.).
The downside of financial investing is you cannot avoid taxes. Indian government is another robber. However, I would think that when compared to the alternative, this is slightly better problem to handle.