Okay, so your pup is doing pretty darn well around the house, but how reponsive is he when company is over or when you are outisde? Having a dog that responds to you in those situations will require advanced training. He knows the basics, but can only perform in easy (i.e. non-distracting) situations. I like to use a weight-lifting analagy here: say you have been lifting weights, and do really well with 10 lbs. Then someone comes along and hands you 100 lbs. Can you lift it? Probably not. Does that make you stubborn, stupid, or disobedient? Of course not! It just means you haven't TRAINED for that kind of weight. So, please think of each behavior you have taught your dog in those terms... if you want him to respond in all situations, you must TRAIN in all situations. And, just as in weight training, that means adding on the weights (or distractions) a little at a time.
I am going to give some general advice, then, about distraction training. You will need to adapt all of this to your own dog and situation, but I have found these to be pretty good "rules of thumb."
• Begin practicing in different, yet quiet locations. You may be surprised at what a difference that will make! Dogs really do see the location as part of the signal at first, so you may find that you may have to back up a few steps and practice simple behaviors at first. Eventually practice everywhere that you expect to have your dog. My personal challenge was bringing Sugar Bear to my kids' soccer and flag football games. It was extremely difficult for her at first. I found that it was better to leave her at home for the games, because I wanted to relax and watch my kids. But I would bring her to practices, have a pocketful of hot dog slices, and move as far away as I needed to go. It was hard work but it paid off - now I can bring her along and she is very relaxed and well-behaved. No more lunging for the ball as it rolls by!
• Begin adding mild distractions. You can control this in several ways - by controlling the intensisty of the distractions (i.e. someone walking by, versus someone running by) and control how close you are to the distraction.
• Have way better than usual treats.
• Expect less from your dog at first! Especially in situations where you really con't control the intensity or distance of the distraction, you might go all the way back to luring to get a behavior that your dog performs flawlessly for a simple signal at home. That's okay! Practice that for a bit, then fade the lure as you did before, working until he is a good as he is at home.
• And remember, you are training your dog every minute that you are with him (and sometimes even when you are not!) Be sure to consistently reinforce behaviors you like, and don't allow annoying (or dangerous) behaviors to continue. Figure out HOW those behaviors are reinforcing to the dog. Is he getting lots of attention (even if it's negative, it counts as attention) for them? Is he getting internal reinforcement for them - such as the sheer joy of barking or chasing or picking a delicious tidbit out of the trashcan? Work to manage your household to prevent what you can (i.e. trashcan in the closet, dog on a leash) and train behaviors that you would prefer to take the place of ones you don't like. Just always keep in mind that your dog's behavior is 100% your responsibility, since you chose to bring him home. There's an old saying: A well-trained dog is a happy dog... and you will be a happier owner :)