There are a range of problems with commercial dog foods. I will provide some links below, but in summary:
a dog's food should never be cooked. It should be fed in a raw natural state like nature intended. Cooking a dog's food ruins most of the nutritional value.
dogs should have access to raw meaty bones. These clean their teeth, work and develop their neck and jaw muscles, and the chewing action prepares their stomach for the incoming food mass. Chewing bones also slows down the eating process considerably, making it far harder for a dog to over eat.
dog foods have as their main ingredient cereals - the main ingredient your dog should be eating is raw meaty bones. And it is these very cereals that cause a range of problems such as allergies.
commercial dog foods are laden with preservatives, colors (dyes), and salt. They have additives to make the food taste better so that the dogs will overeat.
the vast majority of commercial dog foods have far too much carbohydrates in them. High levels of carbohydrates are linked to over-eating, diabetes, weight gain, and numerous other problems. Dogs should eat a diet with only a small amount of carbs.
there is no substitute for a raw diet.
and most scarey of all:
your vet is most probably recommending a commercial diet because of financial inducements and a lack of independent learning.