It does depend on the breed, large dogs mature a lot slower in general.
Some people keep their dogs on puppy food until they are one year
I agree, small breed dogs generally reach maturity at 2 where large breeds generally are closer to 3 years of age. By definition, until they reach maturity they are considered puppies. The issue of the dog food is one of discretion. Many are of the belief that one year of age is the proper time. Others looks at when a dog comes into season for the first time as an indicator. Being that dogs blow their puppy coats and develop their adult coats as well as adult teeth on average of 6 to 7 months, many believe that is the time to switch.
Much is open to interpretation as to when but it appears to be generally accepted that any time after 7 months is a good time for the switch.