I hate having to buy people gifts for particular occasions; I mostly just don't do it. On the other hand, I do tend to see things when I'm out and about or travelling and think, "ooh, X would like that", so then I buy it for them and give it to them whenever I next see them. (No point in having it cluttering up my flat until their birthday or whatever when they could be enjoying it already.)
As far as I can tell, the few people who might expect gifts from me on their birthday or Christmas or whatever are OK with the fact that I probably won't have anything on those days because I'll have got them things at other times over the year, and they know that's how I am.
What I'm really, really bad at, though, is receiving gifts. I get ridiculously upset if someone gets me something I don't like, and the knick-knacks I don't hate but have no use for still annoy me quite a lot. I'm perfectly happy not to receive gifts at all, but ones I don't like send me into some sort of temper meltdown. I know it's wrong, and rude, and very unkind to the person who went to the trouble of getting me something they thought I'd like, but I just can't handle it.
Er, back on topic, for "normal" shopping I have my regular routines, and try and do it when the supermarket is less full, and I'm mostly OK with that. Going shopping for clothes is a nightmare for so many reasons I mostly do it online, though, and crowded shopping streets give me road rage, so shopping as a leisure activity is definitely not my thing.