Some people just don't have a clue about good manners, being a good guest or a gracious host. I suspect it's in their upbringing to always be takers.
Maybe bringing a bottle of wine for dinner, or leaving the remainder of a bottle of liquor with your host is a southern thing. I live in central Virginia, and that's been my experience here.
A woman we've known for about 45 years used to come down to visit over a period of years for a long weekend with her then new husband, and neither one ever lifted a finger even to help my wife clear the table after she fixed meals for us. She'd drink three or four bottles of wine and he'd drink a fifth or more of my bourbon over those two or three days. They never, ever brought a bottle of anything to share.
If we went out to dinner with my sister, father and late brother-in-law, my BIL always ordered the most expensive thing on the menu, and never once in the eighteen years we went to see them did he ever offer to get the check. It always fell to me or my father.
A good friend of mine complains that his daughter's father-in-law always shows up for a family dinner at my friend's house, always shows up at a family dinner out, and in more than twenty years, has never offered to help with dinner at home, or ever picked up a check for a dinner out.
Some people are just takers, never givers, are totally unaware of that, and unless they have something else you value to offer, I'd try to avoid proven moochers, or just make your offering much less attractive like Onomea says - offer a cheap beer and some pretzels.