However it doesn't need to be stressful with careful planning and consideration. Doing your shopping early isn't necessarily the answer, but it's best not to leave it till the last minute either. If you put effort into finding out what your family and friends need in advance this will help you get an idea of what to buy them, failing that there are some great websites out there that do gift sets and give encouraging ideas that you can use.
I find keeping a few notes with details in very useful, so it might be worth just purchasing a notepad and recording what you have brought people within the last couple of years, so as not to repeat buy. With a well structured list of all the people you need to buy for, you can then begin to plan ideas next to each name and tick them off when you have brought their gift.
The next thing to be conscious of is what you actually purchase, try not to buy anything that may be distasteful in some way. For example, if you are buying for a man that is of the older generation it wouldn't go down well if you were to buy him a pair of boxing gloves just because he enjoys the sport. Also if you are asked for something that is very specific, then get that and don't get something that you will think is better, remember that is only your belief and the recipient may not share that same view.
If you really have no idea what to buy then go for something neutral that you know will make someone happy such as a champagne gift set or a chocolate gift set. These are sure to go down well when you are struggling on what to buy someone.