I used to just buy my daughter whatever she wanted, within reason, but since we go twice a year I was forever lugging home a ton of things that were played with a few times then discarded. My daughter's now 6 and for this trip she'll have her own spending money and once it's gone, it's gone. She's been putting loose change in a jar since November and I cashed it out yesterday for $137. I'll give her the $3 to make it an even $140 and purchase a Disney gift card in that amount.
We have always done the "here's $50 on a gift card - buy what you want" route. Our son is a lot more careful with his money when it's "his" money and not our money. We will still buy him the occasional thing (treat, little toy, etc.), but otherwise he uses his money. It's always lasted him until the end of the trip because he wants to see everything in every park before he decides what he wants. It also helps teach him about money and budgeting.