I prefer buying branded shoes from the store only as it is more reliable and there are no chances of getting fake ones. But for some local brand you can order online and there are great offers also so you can get good discount also. Moreover compare prices of 2-3 websites like Amazon, Myntra and Flipkart and one that offers the best prize , go for that.
Buy from Myntra , having or amazon. Or if you have a particular brand in mind then you can buy from their official site too. They are full guaranteed and not at all damaged. You can also return them if you don’t like. I find online easy as it is door service.