Try getting some books on "spirited children" or "the spirited child." It gives good tips and insights.
Even if kids "know better" they will not always have the full capacity to be error free. It's a continuing learning process for them. Sure but teach a child boundaries...at this age, they are more aware but not a "big kid" yet.
Sometimes, I just don't use "treats" as a reward. I just make the bottom line the end all. I encourage my oldest to "help Mommy"... and teach her "teamwork" and "try your best..." instead of having to be perfect all the time. ie: if she can't eat all her food... then I tell her that at least she tried her best and if she is full, then that's fine. If she can't put away all her toys...then help Mommy and we will do it together etc. I teach her to "explain" and it's okay to tell me her feelings...but there are still rules... that we all try to do, even Mommy and Daddy. My girls seems to respond when we make a "problem" more of a "team" situation... sometimes a little child finds things overwhelming and they can't do something completely as we wish, so then they balk or tantrum. Still, they will do things again...and repeat things even if we don't like it.
Maybe focus less on dessert.... and on a better "reward." Going on a walk with Mommy, playing something of her choice, playing a game together etc. My girl loves these options when we tell her this.
The 2's and 3's is not an easy age... and the "phase" actually goes on to 4 yrs. old and hopefully by 5 it will start to mellow out. Parent' magazine has great articles on child development by age. At this age, they can "manipulate" their world... but it's good you are being consistent in discipline.
I would recommend reading the books. I learned from it and it helped to see things from my child's eyes and development. Sometimes as Parents, we are all out of ideas! LOL.
Good luck,
~Susan
www.cafepress.com/littlegoogoo