While I agree with this very much, it is also the same reason we don't or can't stock all the items possible. Not without some huge ($500,000+) investment. Plus when many online vendors mark products up less than 10% it just does not make sense for a LFS to stock an item, tie up the capital, and make no money. You could make more by putting the money in a savings account, without any added stress... Plus if we do stock certain items, and our price is a little too high for the consumer, many time they will flame the shop for it. "they are trying to take advantage of the customer" "they are trying to rip us off" "they are greedy and trying to get rich" When in many cases this is the farthest thing possible from the truth. Most LFS are just trying to stay in business.
Plus you need to know that most online vendors are just "brokers" They do not stock many/most of the items on their website. When you place an order, they just place an order with a distributor, and the item gets drop shipped to you. Now the online vendor make a small profit for making a phone call or sending an email. Never even tying up any capital to make a sale. Most LFS can not do this, or we would. I know that I will gladly do this and can usually match or beat any online price when I do. But not too many think to ask most LFS about special orders, they just go online and order what they need. You don't know how many times I see people post "I just got this from XYZ and paid $$$." I think to myself sometimes, well I could have gotten that for the customer, for the same or better price.
Now don't get me wrong there are some Online vendors that are bustin their but and have a great business (stock the items, give customer support, and have great prices) unfortunately this is not the majority.
Really at the end of the day, it comes down to the overhead for any particular LFS or online vendor. This will ultimately depict what markup the store will need to survive, grow, and profit. This is going to be different for every store.