Kids have a tendency to believe adults have an infinite of money available to buy whatever they want. Need something? Put it on your debit or credit card. What's the problem? The problem is you have to pay for the items you purchase. There has to be cash to pay off the bills at the end of the month.
My brother has come up with what I think is a great way to teach children about budgeting money, allowances and shopping for sales at the same time. The boys have a set amount of money each week and a list of groceries to purchase. It's their job to scour the sale papers for the best deals on meat, cereal and other items on the list. The parents buy the family's food and essentials based on these recommendations. Whatever money remains goes to the boys as part of their allowance.
The more money the boys save the family, the more they have to buy toys, electronics or other expensive items. It's turned out to benefit the kids and the parents on many levels.