I will always continue to buy from shops because I am and immediate gratification kind of guy. If it means spending and extra $20 so that I can have it "right now" then I'll spend it.
Once you add in shipping costs and waiting 3-4 weeks for delivery from most places, the extra cash and personal experience, in my opinion, is worth it.
The only time I would consider shopping online is if I can't find what I am looking for locally. I will always try and find it local first.