I find very helpful to learn a bit about etiquette and always have questions about how to behave in certain situations. So, I'll do some posts about that beginning with: when I should or shouldn't buy a hostess a gift.
You SHOULD buy a hostess a gift when:
- You will spend the night at his house (and since you are not paying for the hotel, be generous!)
- The party is for/about you. In addition to that (the gift can be delivered before or after the party) is even better to make a toast to the host during the party.
- Formal and intimate dining. If the host thought of you to join a select group of guests, you must show him gratitude for that.
- You asked to bring a plus one. This means more spending on food and drinks for the host. So he deserves a treat.
You SHOULD NOT buy a gift when: it is a party with many guests; an informal get-together during brunch or happy hour; or a party you can not attend (in this case, it's polite to send the host a thank you note)