As Mark says above, "doggy" smells are cause by bacteria breaking down the oils which have transferred from the dogs' coats. In my experiences German Shepherds are the worst breed of dog for this! And this house has had three of them on the carpet

HWE with chemicals which only "clean" won't cure the problem completely, as you've already found out. A thorough rinse through with water will physically remove a certain proportion but you need to kill those little critters to stop the smell.
Bacteria thrive in moist conditions, so adding water is like chucking a match into a petrol can. Even if HWE removed 90% of the living bacteria, in the following hours after cleaning, even with ventilation to speed the drying, they may multiply back up to the same number or even more, depending on certain variables.
Different people obviously attack this in different ways, probably no two cleaners will give you identical advice. Jeremy's post above is a good example.
How I personally deal with this is pretty simple. I go through the HWE process as normal, using a solution to kill bacteria (This used to be a fairly potent sanitiser up until recent times when I switched to using M-Power).
I spray up generously, as much as is safe for the carpet, agitate in very thoroughly and leave an extended dwell time, again as much is safe for the carpet.
Then after rinsing out, I try to dry the carpet off as much as possible. Then I'll re-apply the solution and bonnet over the carpet again. I include an odour neutraliser in the solution too, for immediate masking effect.
Drying time shouldn't be too much of a concern as long as it's not left sodden. The product is only active as long as there's moisture present, so accelerating the drying may actually be counter-productive.
I've achieved some outstanding results like this, but I'm sure there are plenty of other ways to get the same result
