I am not a big "say sorry" believer. Sorry has meaning when something occurs by accident but when you have repeated over and over not to do something and it occurs anyway, it is defiance and maybe sorry it is not enough. A lot of kids get away with one little sorry.
I explained to my 4 yr old daughter that "sorry" only means something if the bad behavior stops. She would say sorry and the bad behavior would continue - over and over again! Like you said, that is purely defiance. On the first offense when she apologizes, I'lI ask her if she really means it. If the answer is yes, then I tell her what she did wrong, that this is a warning and that on the next offense she will be punished.
My 5yr old stepson gets away with a lot just by saying sorry... He has his daddy hooked, his dad does try but he gives in a lot. I know it is because he was a single father but our son is 5 now and he really needs to know that no means no