Most puppies vomit because of reason 1.
This stuff could actually cause a bacterial overgrowth or just a buildup of toxins that can cause the pups GI upset (usually due to a mix of vomit triggers 1 and 2).
Parasites and viral infections, Parvo being the big one, can also manifest with varying degrees of vomiting.