How do people Christmas shop early?

I always say I'm going to start early, but then never start until the end of November, and then trying to make due with the last few paychecks before Christmas and then my husband and I end up skimping on certain things. (Before anyone starts a rant about "going broke for Christmas", I genuinely love giving gifts. It makes me happy to do it, I just have poor planning skills).

My question is, how do you buy gifts ahead of time? Because what if you buy someone something earlier in the year, and then by Christmas time they already got it for themselves or they are no longer interested in the thing you bought?

I would love to start shopping within the next month or two, but I don't want those efforts to go to waste.