Nutrition is as important for dogs as it is for people. When companies started making dog food there was little idea of good dog nutrition. Afterall, at that point we were just giving them the leftovers from the table. So dog food companies started off using cheap carbs, like corn, wheat and soy, all three now known to cause allergies in many dogs. The companies also used animal by-products, afterall we were used to giving dogs our leftovers. However, animal by-products are a product of slaughterhouse waste. Made from what’s left of a slaughtered animal after all the prime cuts have been removed. For example, chicken by-products are the unsavory and inedible leftovers deemed “unfit for human consumption”. This stuff can contain almost anything… feet, beaks, undeveloped eggs… you name it. Then the companies will add food coloring so that the product will look good to us, preservatives so it will have a long shelf life, and some will even add sugar because, like humans, dogs prefer the taste of sugar.
Since dog food companies have first started making dog food, there has been a lot of reseach on dog food. Now we know that you should look for brands that are high in ANIMAL protein and low in carbs. Dogs in the wild eat meat, not carbs. A brand that has high carbs will often make a dog more hyper. Any carbs in the food should not be corn, wheat, or soy, but rather brown rice, oatmeal, or other such healthier carbs. You should also look for a brand that has animal protein as a first ingredient. Avoid animal by-products. Look instead for ingredients like chicken, or chicken meal. Avoid unnatural perservatives and any added sugar or food coloring.
A good place to buy dog food is a feed store. The grocery store usually does not carry a single brand of healthy dog food.
Here is a list of the best brands. Notice that the Blue Buffalo you mentioned is on the list.
http://www.dogfoodadvisor.com/dog-food-reviews/5-star
Also it is worth noting that many dogs use food to control things. The best way to cure a finicky eater is not to find special sauces or human foods to entice the dog to eat, as soon the dog learns that if it refuses to eat, something better will eventually be added. Instead, give your dog the recommended amount of food. Call the dog into the room, put the food down and leave the room for 15 minutes. After 15 minutes return and take the food away. Never make a big fuss over the food. You can offer the food to the dog several times a day, but not closer than 2 hours apart. In the wild, dogs often go 5 days between meals. So unless your dog is sickly or very underweight, this will not hurt your dog. After a few days your dog will start to eat what you offer it. Then you will not only have a dog that eats, but a dog that is eating healthy.