I' m with the 'pick your battles' brigade on this one.
It may depend on the child too though. I'll have to reassess when DS2 gets a bit older perhaps, but at the moment, having 'given in' every now and again to my now 3yr old, I think it's the right thing to do.
He's a calm, considerate little boy who knows his very strict boundaries, but also knows he can explore and make decisions about things important in his own life.
Now, of course, when I say important, I mean important to him.... as a 3yr old. A could not give a rat's ass if he wants to eat his lunch from three different bowls, or have two straws, or wear pink socks with yellow sandals(!)
Where it matters, I am VERY firm, ie with bedtimes, or with wearing his shoes, where there is possible danger, manners, behaviour towards others etc....
Give and take. We do it with adults, we do it with children too.
(---But then, he has always listened to reason and explanations, so perhaps its ALL just nature, and none of my nurture(!))