As with people, there can be a lot of different catalysts behind a dog's aggressive behaviour. Correct diagnosis is the starting point to management, treatment and re-training. Here are some common underlying reasons.
Poor social skills
A puppy that misses out on early formative social experiences can become aggressive when they're older. But as a dog gets older, it still needs regular, fun exposure to different people and dogs so it continues to refine its social skills.
Bad past experiences
A negative experience in a dog's past can make them aggressive in that situation in the future. For example, if a pup was attacked by a small white dog, it might grow up to become aggressive to all white dogs.
Sometimes a single bad experience can snowball and become applied to many different future situations. For instance, the pup attacked by the small white dog may grow up to project this experience onto all small white dogs, and then to all white dogs, and then to all dogs, and so on.
Some dogs have a genetic basis to their aggression. A parent may have been aggressive and passed this trait on. This may not become evident until the dog is older.
A trigger situation
How a dog feels about being in a certain situation can determine whether they react to it aggressively. For example, at the vet clinic.