Here's how we do it:
Each week Kiddo receives two dollars in allowance. One dollar is to spend or save up for something, the second is saved for him; at the end of the year 50% will go to savings, 50% will go to charity.
Daily chores and responsibilities are just part of life and being a family. If chores are not done, we don't withhold allowance. Instead, life just doesn't move forward or there is a logical consequence. By this, I mean that if you don't help with setting the table, you can't eat yet. If you don't do your homework, you miss out on your Lego time or the half-hour show you chose for the day...and it still has to get done. If his room isn't relatively picked up/clothes put in the wash, etc., then he might have to use some of his evening story time to get that job done because he didn't do it when was supposed to. We have solid routines in our house so that there are designated times to make sure all of our tasks are done; If you choose not to do it at those times, you may very well miss out on something else.
He also has 'extras' to help with where he does get money FOR that specific job. Once a week or so he is my 'assistant' for an hour while I get the house ready to vacuum and he gets paid for this. They're usually small jobs, like deadheading the dandelions; last week the celery from the store was terrible so I just paid him to chop it up for the composter. Or picking up the extra fallen cherries or picking the rocks out of the rock garden when I was re-doing it, stuff like that which saves me time. Our container drawer needs a clean out and I might pay him to empty it and re-sort/stack the like containers.
The reason for the extra jobs is to give him opportunities to earn money based on above-and-beyond work that is not related to self-help/self-care or being part of the family, per se. I want him to develop the good habits of picking up his room, doing his homework, helping with the recycling, etc for their own sake. I want those motivations for these tasks to be intrinsic, where he knows it's in his own best interest to do these tasks--not because I am holding back his allowance. My husband and I thought a lot about this aspect of it before we decided to do it. The extra jobs, I am clear, are for *my* convenience and do not benefit his personal development. Since he is wanting to buy some more expensive LEGO sets, if I give him opportunities to earn the money faster, he will do a better job at saving that money, rather than blowing it on something less expensive he doesn't like as much. He can always turn down the jobs I offer, too. Then, it's his decision to earn the extra money or not, which is important too.
AND he's having a toy sale this weekend, to help save for a $60 toy he wants. He's learning that sometimes it's nicer to let go of toys you don't play (and come closer to his goal) with than to hold onto them 'just because'. It's a win/win for all of us; I get back some space in the basement, too!
ETA: I will say this regarding the idea of it being a form of 'welfare'... listen, my son sees my husband and I are able to get things for ourselves that we want from time to time. We only buy him presents on his birthday and Christmas, but we do buy ourselves things more often than that; so I imagine it would stink to have no spending money at all. He's already learned that if you buy crappy cheap toys, they do fall apart, and I'd rather he learn to save up for that $60 lego set than feel like he can NEVER earn it or just passively wait for someone to buy it for him. Just my opinion.