Back in the days of the temple the Cohenim would spend their time dedicated to service in the temple, while people who benefited from these services would bring 10% of their crops to support the Cohenim and the poor.
We no longer live in a primarily agricultural society and rely more on a monetary system without a temple. Our system of production, inventory and savings differ greatly now. From a strict agricultural standpoint, food would go to waste if not given so the 10% back then does not equate to the same 10% of someone's income now. There was also a greater trust in the Cohenim to manage the donations. These days someone can make a donation without any of the money going to the intended cause.
Even though 10% it is referenced in the Talmud when people still lived under similar conditions, the 10% was more of a rabbinical decree than a biblical law.
In my opinion tzaduka should be a responsible percentage of someone's potential. This includes all resources and factors in someone dedicating time to study of torah or volunteering for worthy causes instead of working. Potential also factors in the people who could be working but instead decide to squander their time watching television all day.
The torah does not dictate socialism and tzaduka is meant to be a hand up rather than a hand out. It is actually a sin to look down on someone when you give tzaduka. Giving tzaduka to the poor because you're sorry for them is not the correct way to give. It is supposed to be given at the same level.
Responsibility provides exemptions for the poor that do work to their full potential and cannot responsibly afford to give away their bread money. In such a case, the poor are responsible for other mitzvas such as supporting their families.
Regardless of the situation, mitzvas always apply.