A puppy's digestive system is very delicate, and packing it with too much food is a recipe for irritation. Puppies who overeat will often vomit to relieve pressure on their distended stomachs. If your furry friend manages to keep the food down, it may reappear in a few hours in the form of diarrhea.