You did not mention the age of your puppy. Puppies should not be bathed prior to 6 months. You can give your pet a sponge bath before that time but not a full on bath in the tub. Do not use a regular shampoo, they are too harsh for puppies. Use a puppy shampoo. This is a good one
The frequency will depend on the kind of breed you have but generally short haired dogs do not require bathing as often as a long haired dog. Bathing can be done when needed, about every 1-2 months. Too often will strip the natural oils from the coat and skin. Of course if your puppy has gotten into something smelly or has been rolling around in the dirt a bath is definitely in order. The most important grooming requirement is a brushing every day rather then bathing too often.
There is an article on our site that you may like to read Dog Baths...