money is fungible
Can it be demonstrated that these funds go to vices? Maybe, maybe not; I don't care. Since money is fungible, you may readily link giving individuals money and their spending it on unsavory actions.
When "forced" to sell shares for retirement, you're only taxed on the profits, or the difference between your cost basis and the selling price. When you sell assets and lots, you have more control over your eventual taxable income (which will be smaller).
Assuming you have some bond allocation in a 401(k), IRA, or other retirement account when you retire, you can sell taxable stocks and exchange bonds for tax-advantaged stock.
You can pay for college with money set aside in a 529 Plan. You can pay for college with money set aside in a taxable brokerage account. You can pay for college with money languishing in a “high-yield” savings account.
Now, if you give him a gift card for a place that he’d never, ever spend his money, you’ve succeeded in giving him some non-fungible money. But you’re also forcing him to spend on something that he might not value.
Yes, most individuals need to treat themselves, and your financial plan should account for that. Apply any new money to long-term goals while establishing a budget that allows for splurges.