I think you are right about it depending on the child. 4yo dd has always responded well to explanations, and is generally quite keen to please. 2yo ds on the other hand doesn't give a stuff if you are feeling sad or cross, or if there is a good reason for him not to do something. It's not even naughtiness or wanting a reaction, with him it is simply that not doing exactly as he pleases doesn't occur to him.
Then poor dd sees ds getting away with astonishingly bad behaviour with very little in the way of consequences because we're still working out our way of dealing with a more challenging child, and she thinks "I'll have some of that!" and is really naughty too.
I have had a long chat about the importance of "no means no, and right away" and I have said nothing but water and milk tomorrow.