This doesn't discount the real poverty that exists in many countries, and I'm not dismissing that. But if you're seeing poverty in a tourist area it probably means it's ten times worse in the places where tourists don't go and you're not going to solve that by stressing out over whether you should feel guilty for haggling or not. It's not your job to solve poverty in places you visit and feeling like you should is more a case of "Western guilt" than anything else.
You'll have a much more lasting impact, and gain much more, by seeking out human interactions that are not purely financial, sharing your culture and experiences with theirs, than you ever will by buying tourist crap in every place you go.
There's also a few street vendors who don't overcharge, they're lovely and I make sure to remember them and go back. Not something you can do as a tourist though.
It’s not like their economies are that dynamic and have the liquidity to absorb most of them with decent stable jobs.
We like to forget but it only takes a year like 2008 to remind us.
It’s not the tourist’s job to worry about the knick knack dealer’s finances. That’s patronizing, presumptuous, and shows a lack of boundaries. Unless you’re dealing with a beggar where a transaction may be merely symbolic, I don’t even see a legitimate opportunity for charity here. Even then, you could still contribute to entrenching poverty by encouraging a tourist culture that inculcates dependence on charity. Authentic charity and generosity are governed by reason, not sentiment.