Wow, some angry responses here. I am a divoriced mom have two boys 11 and 9, both right at this age so I really understand your pain. I have had this very conversation with my kids within the last 6 months... try it.
First off though, all lets be realistic here, I had to stop hitting my kids when they got almost as big as me and laughing when I spanked them. That was about a year and one half ago. Unreal as it may seem, these guys are starting to develop independance and these are the first stages of teenage years. They want to be treated with respect and like adults even though they don't behave in a way to deserve it.
Sit down with your son at a time that you aren't fighting. Discuss with him that we all have rules and conditions in life that don't necessarily make us thrilled but it still needs to be done.
Example: I don't WANT to go to work, but I have to so I can pay for our house and provide him with clothes and food and his video games. These things are a product of my effort and doing things I don't really want to do so I can provide the home we live in and the things we enjoy. (Or stay home so we can have a nice home and I can spend time with you etc.)
Now discuss specifically what he has been fighting about... Show him the the outcome of his efforts and what it means.
Example: Your homework is to teach you. Your schoolwork is preparing you for a time when you will have a job and provide for yourself and later your own family. If you don't learn and develop these skills now you won't be able to do these things in the future. What sort of life will he have with no money or home? The more education you have the better job you can get and the more money you can make. If you have bad school grades now you won't be able to get into some of the best colleges and this will affect how much money you can make as an adult. (Everyone needs math and reading to just drive and go grocery shopping!)
This conversation opens lots of doors... you are showing him that you are thinking beyond the here and now, you are thinking about him as an adult with a family already. He wasn't thinking about the future, he is thinking now. He also sees that you do things you don't want to do, just for his and your own benefit. So you do things you don't want to do. This shows him he isn't alone in his issues and that part of this is for his benefit. Also by having this conversation calmly and making it a real conversations with his questions and full interaction you are treating him more "adult".
Next share with him your coping skills for not being enthusiastic about certain things.
Example: My boss gives me busy work, and I think its stupid or that it will be thrown away and a waste of my time. I have choices... I can do it, I can argue, I can not do it. Discuss the likely outcomes of these three options. Which is faster? Which is likely to make me look bad? Which is likely to get me fired? What is the future like in each result?
Next discuss the arguing factor and stalling. More time and energy is usually spent getting out of work than just doing it. And on top of all that usually you also get punishment and ruin the rest of your day.
The last thing to discuss is respect. At this point you guys should have a good calm and healthy conversation going. Discuss respect and what it means. Discuss why it is wrong for him to yell and call you names. Ask him how he would feel if others do that to him. Discuss trust, and how its earned and built. Be honest about your sacrifices for him and all the things you hide to keep him safe and happy. Let him know that you do your best and expect him to do the same. Let him know that you have done everything as best you can and that earns respect and trust and you expect it be given.
Now going forward have more adult conversations with him. You need to stop looking at him like a baby and "Because I said so" is never the real and correct answer, its just easy. If you are pressed for time, respond to his demands with a thought provoking question (Why do you think you think I want you to do XYZ?). Ask him to write down 5 reasons why you think you are asking this of him and come explain them to you in 15 minutes (or when you are done with what you are doing). Let him know when you are disappointed and lose respect and trust. Also let him know when he gains some of your trust and respect. Let him know when you are proud of him.
I actually was having a really bad day when my kids chose to challenge me. I cried and told them all about my bad day and how many things I was doing and thinking to try and be happy so they would have a good day and how upset I was and I was hiding it before they yelled at me. It was really eye opening for them. I think kids really believe that being an adult is easy and that when they grow up they won't do anything they don't want to do etc. At the end I said I didn't feel like finishing dinner and for them to eat something they could put in the microwave or a bowl of cearel and went to my room. They were shocked.
I think showing them that we all do our best is really important. We talk about bad days on the drive home now, me and them. Its really brought us alot closer. This all being said they still occasionally fight with me, but its not as bad as it used to be and usually is a sign that they had a really bad day at school or didn't feel well. I usually try to discuss their bad day with them as time permits and encourage them to not let the person continue to ruin the rest of their day and they are in control of that now. I also use the concept of "pass it on" when talking about negative feelings, don't pass someone's bad day on to other people, let the bad stop with you and only "pass on" good things.
Last thing, let the kids help make the other rules and understand why they are in place. My kids fight about bed time, they go at 9 and I had to show them on the internet where it says that people under 18 need 12 hours of sleep and then helped them do the math on how much they were getting... only 9 hours... showing them they already had a big break and we definately couldn't push bed time back because it wasn't healthy. They still ask but don't argue much when I say no again cause they already know the answer.
Let the kids help put punishments or rewards in place for violating or following the rules. Also encourage them to come up with some of the rules themselves.
Example: My 12 year old brother lived with me and when we called a meeting to write down rules and punishments he insisted on some rules of his own... I was sort of surprised and said we could all discuss suggestions and think about it. He came up with two things that REALLY bothered him and made him angry... 1) If one person is doing chores everyone has to do chores, meaning I couldn't sit around and have him do stuff while I was relaxing. 2) Being punished with chores no one else wanted to do, like scrubbing the toilet. We agreed with some excpetions, scrubbing the toilet was rotated monthly so everyone got a fair share but it was a regular chore not a punishment. We set a specific time on Saturday to perform the major chores for house cleaning and we all did it at the same time. Punishments were time away from friends, no video games, and removal of soda from his diet. Those were the three most important things in his life! It was really good and he followed the rules and punishments without fail (Happy to report he is a fine responsible young man now!).
I hope some of this helps. It works with my boys and they respect me alot more and talking with them and reasoning with them has gotten so much easier. I hope it works for you.