This describes me and DS so well. Parenting is very hard for me too. DS has a "spirited" temperament. When he wants something, he is relentless and can wear you down until you give in.
I give in to him alot.
I end up feeling like I can't do anything nice for him "once in a while" because he always remembers and then expects that it will happen all the time. I just don't know what to do!!