People who are too poor to buy things won't buy any fewer things just because they get free things. They'll just have more things that they can resell for more money, which they will likely use to buy things they actually need.
Giving money--even indirectly--to poor people makes economic sense because they'll spend it on goods and services that keep other people employed.
Punishing the poor out of some moral imperative is economically destructive.