Absolutely. It is a learning experience. They learn numbers. Budgeting. It teaches them shiny+ exciting doesn't always = quality, value & worth. Most importantly it teaches them the value of $$$. It helps them to understand the limits of $$$. So when they are in the store & ask for everything they see that they like, you can use the experience to explain to them that $$$ is not unlimited. Another good thing is to let them earn $$$, so they begin to understand the correlation between money = time + effort. Help them go through the process. Time+effort>money>shopping>limits>decisions>final product. It may help them to respect their things more. Some kids will not take care of their things very well because they don't understand. They see the toy however they don't realize that it represents hard work = money = toy. So they trash it & assume get replaced in the same way they got the first one. They didn't have to work for it. It was just given to them. These are all great lessons to teach your child. However, they must understand how one gets money and must also understand that there's a limit to it or chances are the lesson will be lost on them.
With my kids if its something silly that they want and I really can't see a point in wasting money on it then yes they use their own money if I cant convince them that its a waste of money. But mostly when were out and they see something they automatically reach for their money but I tell them to put it away and I pay for it and tell them to save their money. I prefer they learn to save money for more important things than spending it just cause its there.