Online shopping, in general, has opened up a huge variety of choices of products to purchase.
Bricks and mortar shops can't compete in offering that choice and so it becomes catch 22 for them. (haven't it in stock? I'll buy it online).
Online is very convenient but it can make us very lazy. Also there is no personal interaction with online. Personally, I like having a chat in store.
Regarding prices online versus in store. There are a variety of reasons this can happen. Supply chain, country of supply, bulk discounts, taxes/Vat.
For example, in the EU since the 1st July, the rate of Vat on a purchase is the country of purchase rate. For a simplified example, I buy film from Fotoimpex in Germany, (their Vat rate is 19%) but they charge me the Irish rate of 23%.
If anyone thought that there was a huge markup on film, then they are sadly mistaken. Also some online and in-store retailers will offer selected products at cost(not below cost) to entice you in and make a profit on the additional/other products you purchase.
If I am shopping on line, the first thing I do is look at the delivery prices and policy. I have seen big variations in prices for delivery, especially from UK online suppliers now that Brexit has happened.