In rough order of how often we see them at the salon:
Plaque and tartar buildup
By age three, more than two-thirds of dogs have some degree of dental disease. It starts as a soft film, hardens into tartar, and starts irritating the gums. This is the number one cause of bad breath, and it gets worse the longer it's ignored.
Periodontal disease
When plaque and tartar are left for too long, the gums get inflamed and infected. You may notice red gums, bleeding when your dog chews, or your dog flinching when you touch their muzzle. This needs a vet, not just a groomer.
Something stuck
Bits of bone, stick, or chew toy can wedge between the teeth. Dogs won't always tell you. If the smell came on suddenly, a gentle look in the mouth is worth doing.
Diet
Table scraps, especially fish or strong-smelling proteins, can throw breath off. Low-quality food can do the same. Most dogs do best on a consistent diet without scraps.
Dehydration
A dry mouth lets bacteria multiply. Fresh water should always be available, especially in summer or after exercise.
Eating something gross
Dogs eat things they shouldn't. You'll know what we mean. The smell from this usually resolves on its own within a day or two.
More serious causes
Sweet or fruity breath can be a sign of diabetes. Breath that smells like urine or ammonia can point to kidney issues. A musty smell can suggest a liver concern. Any of these means a vet visit, not a grooming appointment. More on this below.