I am currently a freelance dog trainer for a few clients, and am building my client list slowly but surely.
I think what is important to remember from any professional you ask to help you with your dogs is that trainers are not miracle workers. I can handle almost any problem thrown my way, but when it comes down to it, that's useless. YOU have to handle it. I have a degree in animal behavior and over 4 years experience changing behavior... of course I can do it! The point of training should be the transfer of control from the trainer to the owner.
I always give "homework" to my clients, and in fact even put in my contract that the owner is responsible for behavior change in the dog. Things like obedience commands, guest training, socialization and problem behavior need to be practiced in small chunks again and again and again until the dog responds the way you'd like the very first time you give a command. The only way to change behavior is with the right schedule of reinforcement and with constant and consistent practice of the correct behavior.
Next time you get homework from a dog trainer, do it! You'll be shocked at how much change you see in only a small amount of time, and soon you'll be the expert!