It sounds awful to say punish your children but what I really mean is show them that you aren't happy with their behaviour and get them to change it.
My youngest (7) selectively ignores me.
My oldest (12) argues back about everything even when I justify/explain things which I hate doing its belittling. Last night I asked him to shower before bed, he erupted and wanted to be told clearly why he has to have a shower. He made it clear he wasn't going to and there was nothing I could do about it. My only way of getting him to shower was to threaten to stop him going on a school trip next week. He did shower after this but I hate going to such extremes. He's recently been banned from ipad/computer games for 2 weeks for being rude to a teacher, tbh he's not that bothered and has read instead. I really have to pick and choose how to 'effectively punish him.
Any ideas?