This may ruffle some feathers out there, since there are so many different opinions and brands of packaged foods you can get for them.
Let's start with the facts. Ideally, animals should eat what they would eat if they were not domesticated, or as close to that as possible.
If you observe the teeth of warm blooded animals you can get an idea of what they should eat.
Canines and felines have very sharp pointed teeth, all the way through to their back teeth, which indicate ability to tear flesh and grind bone of their prey. They by creation, are meat eaters.
Food moves through their digestive system rapidly, so they need foods high in protein. The first few ingredients in packaged products for them should be meat products, usually meat meals, or bone meals. NOT corn meals, wheat products, corn glutens, or bran.
Most pet food companies (the largest companies) focus on making money using cheap ingredients called "grain fillers." All companies list their ingredients, in order, the largest proportional amount of ingredient listed first.
I don't recommend feeding meat eaters with cheap corn and wheat products, as the main ingredients. You may them feed soy bean based food, high in protein,(available through vets) if they have severe allergy to regular store bought dog foods.
Pet specialty stores have some of the best foods for all types of pets, although a bit pricier. Keeping pets healthy is their main focus, so their product ingredients are animal appropriate.
However, almost every ordinary grocery store (even in different states) has at least one acceptable brand with meat products listed as first few ingredients. Even right here in Eureka Springs. You just have to take the time and read ingredients before you buy.
So who should be eating corn- and grain-based foods? Chickens, ducks, and other animals like cows and horses.
Birds, generally speaking, eat seeds and fruit primarily and insects, in the natural environment. They have a gizzard the food goes through before it can be digested. The birds eat sand, and small gravel particles which stay in the gizzard and act like teeth to grind up food, which then goes to their stomachs.
This information is my opinion based on real life experiences with my own animals, plus two family members in the dog and cat business, one a pet sitter, and the other a dog breeder.
Many dog breeders actually feed their breeder dogs raw meats or hamburger partially cooked w/veggies mixed in.
A simple diet of real meat is better than dried foods, but extremely difficult for the average family to provide.
If your dog has a weight problem, try supplementing some of the dry or wet you use with canned or fresh cooked (low sodium) green beans.
They won't be hungry as they will still be eating about the same amount to fill their bellies, but green beans add no fat and you should see results. Best of luck feeding your favorite species and Bone Appetit!