The idea with puppy food is that it provides the added nutrition a growing dog needs. Therefore, your puppy should eat puppy food until she is no longer growing, which is going to depend on the breed.
Little dogs, like the Maltese, do not grow anywhere near as long as bigger dogs like an English Mastiff.
The general rule of thumb is that you should feed puppy food for at least the first year.
For the smaller breeds, this is a good rule of thumb. Giant breeds will grow at least two years and there are some dogs in the middle that don’t grow taller after their first year, but they fill out in their chests, like Pit Bulls and Labradors.
Those are the straightforward answers to how long to feed puppy food. But there is more to the story. Recent research shows that for large breed dogs, large breed puppy food has too much calcium. Too much calcium in these commercially prepared foods has led to developmental joint diseases, like hip dysplasia. While the feed standard is being rewritten to slow down the growth of these large breeds, the change in calcium level has not been made official policy for pet food manufacturers at this time. This means that some large breed puppy foods may actually have too much nutrition and can lead to orthopedic and arthritic issues in your large breed dog as he ages.
If your puppy will be more than 30 pounds as an adult, if you want to feed commercial food, my advice is to discuss what is the right food for optimal growth with your trusted veterinarian. There are some great options available to the pet owner for how to feed your dog, through puppy-hood and into adulthood, that do not dictate following the labels on commercial kibble. Dr. Kendra Pope can help you with these guidelines.