I used to do my Christmas shopping on one of the last days possible - I would just show up to a mall and walk around and find stuff for everyone.
Then my family switched over to a "secret santa" style Christmas a couple years ago, since we all hate shopping and with the economy in the crapper and people having kids and all, it was just the prudent thing to do. To us christmas is more about friends and family rather than gifts anyway. So anyhow, we all sign up online to drawmyname.com or something similar, and everybody gets matched up with 1 person they are buying for. This person then fills out a list of stuff they want, making it very easy to buy for them. So since we started doing that, I've been ordering my gifts online ahead of time. Still have got to pad the watch I bought for my brother in law with a scratch card and a couple smaller things. I also bought some gifts for my nieces - cause come on, they are kids and I'm their cool uncle. I bought both of them at costco ahead of time and wrapped them last night.
I also a couple days ago bought my roommate a big bag of peanut m&ms, since he loves them, and costco has giant bags of them. And his dog got something too. Other than that I bought star wars tickets for monday for me and 2 friends, and when they shows up to pick me up, they'll find out it's a christmas gift.
So yeah, I used to leave it all until the very last day possible (christmas eve eve, we open our gifts on christmas eve and there's no time to shop that day), but these days I try to get it done all ahead of time, if possible. It's awesome to sit here looking behind me, and a couple large gifts are packed and ready to go. I won't be freaking out and going crazy in a couple days' time.