Dogs have a protective natural oil in there skin. A bath now and then won't hurt them any, but soap/detergents/etc. will strip the natural oils off. EXCESSIVE bathing is not good for a dog. Water alone from a creek, pond, etc. is NATURAL, but soap and detergents do not occur in NATURE so its probably not good for them (in excess that is).
You are exactly right. According to the experts(not me) the oil works up into the hair and acts as a natural insulator also.
The problem is the oil is where most of the smell comes from.