I agree that if you attend, you really should give some gift, even if it's very small. I think the way Miss Manners put it was that if you care enough about people to attend their wedding and drink their champagne, you are supposed to be moved enough to want to express that caring in some tangible fashion -- i.e., a gift of some sort.
A pair of potholders, a cute measuring spoon set, some fancy paper napkins, something like that, isn't going to be beyond many people's budgets, and can even cost no more than a greeting card.
Which brings me to cards. I'm not wild about printed greeting cards, frankly, and although I certainly agree that a warm, sincere note that you write yourself (on a card or stationery) is priceless and often treasured far more than a gift, it isn't a gift. That isn't to say that it isn't wonderful and valuable, beyond a "thing" or a check! So are friendship and loyalty. But etiquette doesn't recognize them as gifts, either. Certainly a purchased card with little or nothing more than a signature at the bottom does not, in my opinion, suffice as a wedding gift. So I would rather see nothing than just a card with "Best wishes! Love, John and Jane" on it. Write the couple a nice note, for sure. But that's not a "wedding gift," in my opinion.
I also wouldn't put $5 in an envelope. Too much like a 5 cent tip to a waiter. But I can think of several $5 gifts you can buy or make that would be nice.
At my own wedding and my son's, there were some guests who never gave a gift. Sometimes people just forget or get mixed up -- I hope I never have, but in all these years, probably I have. Very rarely would I take offense at it, and certainly not if there was a chance it was because the guest was broke. I would only find it rude if it were somehow clear that the person thought that their presence was a gift.