Are you broke and you don't have money to buy a gift? What about offering yourself? If your friends have kids, offer to babysit. If they have animals, offer to take care of them while they are away. Bake them a cake, take care of the lawn, there are actually quite a few things you can do without spending money or a minimal amount. Have you tried this?
I haven't tried that yet, but don't you think that it would be much better to do those things as a "favor" rather than as a "gift"? I think you would look like a cheapskate if you offered such services as a gift. I think those services are more suited if you want to earn money rather than as a substitute to a tangible gift.
To be honest that might be true, but it also depends on your financial condition. If you are totally broke, you really can't offer anything so offer yourself. At the same time, your friend could feel awkward to ask you to babysit and that way they will feel comfortable about it.