I think (and I might be being a bit soft here, it has been known), that some of it comes down to communication. As DD1 (2.5) understands so much now, I expect her to be able to communicate with me just as well - but using your situation, Pure, it might be that he doesn't really know which the red/green one is? So not being naughty or difficult as such, just frustrated at not being able to tell you which one is the preferred option.
We have a frequent battle over choice of pudding, where DD1 says she wants vanilla, I go and get vanilla, bring it back, cue meltdown as it turns out she really wants chocolate flavour or whatever. I'm not sure what she thinks vanilla means, but not what it actually means! I've now got wise to this (only took about 5 months) and just bring her a choice of two so she can actually see them, and let her pick.
Also, making things into a game can avoid a lot of conflict - e.g. can you help put these balloons away really quickly. There's a limit to how consistently helpful a 2 year old can be when left to their own devices, sometimes amazingly so, other times head in the clouds and teeth grindingly uncompliant. So discipline as such doesn't always work/or isn't appropriate.
When it is, though, I second the 1,2,3.... technique, and also sending to the bedroom for a couple of minutes to cool off. Am still trying to develop the mummy voice... (better still, the mummy look - one glance from my mum would freeze me to the spot)