In 2006, we brought DS for his first WDW trip at 2.5 years old. Not a problem because he was young and it was his first time so he didn't really "get it."
In 2007 when we brought DS, then 3.5, he was just awful with the crying for everything. He wanted everything he saw. It was awful.
This year we went again, this time he was 4.5 years old. We had a chat with him before we left, explaining that we expected him to behave a lot better than last year and that we weren't going to buy him everything he saw. He was old enough to understand money a little, so when he'd ask for something, we'd tell him that he could use his money and we'd explain how much he'd have left, etc. That seemed to work. I didn't count the "normal" stuff like a T-shirt, hat, etc.
I also didn't walk through all of the shops this time like I normally do. I usually go through each and every shop (even though it's the same stuff! LOL!). This time, I cut back on that and it really helped.