When I think back to my high-school group and our present-giving habits, were we fricking insane? Like, we would spend $75 on a bracelet for someone's 17th birthday. Which was totally lovely of us, I'll admit, and it was always reciprocated, so that wasn't an issue, but really? A group of high-school students, two-thirds (or later, three-fifths) of which was unemployed, and we're dropping that kind of cash?
I think we need to have some rules about presents.
If someone "throws" a party, like in primary school, when you go to someone's house and there's fairy bread and pass-the-parcel, you definitely bring a present. Chances are great that the accompanying card will be the same as someone else's.
If someone invites forty people from the Hall to Hog's Breath (think Outback) and twenty people show up, I don't think you usually have to bring a present, when everyone is paying for themselves. (If the birthday girl/boy is paying, hell yes you bring a present.)
BUT, if the person having the dinner is a good friend, you should bring a present, even if it's just a token gift to mark the occasion. But then where is the line? How do you decide, 'oh you're good enough for a card but not a gift.' Or 'oh, I'm just here for the food and didn't even know it was your birthday, so no present for you.' Or do you always take a gift, no matter what? Always bring a card?
Maybe decide on the basis of 'I totally forgot until another girl from work messaged me, didn't have time to get a card, but happen to have a Body Shop gift pack lying around'? Works for me. This time.