1) The first mistake that a lot of dog owners make is to leave food sitting out all day long. This has to stop right here, right now! YOU are in the charge of your dog's food, which means you are in charge of the TIMES your dog gets fed every day. Leaving food out all day long can create a lot of problems! First of all, your dog has not learned that YOU are in charge (we as owners ALWAYS, ALWAYS, ALWAYS have to be the Alpha, or leader of the pack!) Second of all, you are not able to monitor how much food Fido is eating on a daily basis if you are not measuring the amount you are feeding. All of the sudden Fido stops eating because of a medical problem, and becomes very sick because the bowl is always full and no one knows when the last time was that Fido ate. Lastly, your dog is MUCH more likely to become obese if you do not limit the amount of food you feed. If we eat all day, isn't it more likely that we will become overweight too? The same thing applies to our pets! So here is what we all need to start doing to keep our dogs eating normally: A good rule of thumb is to offer food in two separate meals - Breakfast and Dinner. That's easy - most people eat breakfast and dinner themselves, so include Fido in this routine also. Talk to your vet to figure out the appropriate diet and amount to feed your dog every day, then divide that amount into two separate servings. If you are just beginning with the limited feedings, you may have a dog who won't take to it right away. This is normal and to be expected. Put the food down, and leave it for 20 minutes. If your dog does not eat, the food goes away and he/she does not get it again until later in the day, say around lunch time for example. Do the same thing - place the food down for 20 minutes and whatever is not eaten in that amount of time goes away. And then the same thing again at dinner. If your dog learns to expect YOU to provide the meals (instead of the food just being left out) then he/she will learn quickly that this is the only chance to eat at the time alloted. No healthy dog has ever starved him or herself, and eventually when the food is placed in front of him/her again after several times of rejecting it, it will get eaten. DO NOT cave in and offer other treats, tidbits, or morsels because you feel bad for Fido - ignore the sad eyes looking at you, and find something fun for you and your dog to do (say, go for a walk) instead of stressing out and focusing on the food situation. You can set the food down for the 20 minute intervals several times per day when you are getting started with this new schedule. Once Fido has it down, neither of you will need to think about it - it will just become the routine every day.
2) So you have a picky eater. Well, here are a few things you can try to break your dog of his/her pickiness (once, of course you have mastered the limited feeding schedule). I always recommend switching food around every month or so, so that dogs do not become bored with the food they are currently eating. This also allows a different variety of proteins to make their way into your dog's diet (again, to alleviate any boredom with the same food, but to also eliminate the possibility of allergies to occur to one protein source). Having said that, it is not a good idea to offer canned food or other tasty morsels just to get your dog to eat (DO NOT mix canned food in with the dry just because Fido does not want to eat, and likes the canned food better). Then we are back to square one, with Fido being in charge. He now has learned that it is okay to hold out for the good stuff. Instead, try soaking his dry food with water or low sodium chicken/beef broth (it is a good idea to add extra moisture to dry food anyway). If he still will not eat, start all over with the 20 minute interval feedings (as mentioned above). That is not to say that canned food is bad - there is nothing wrong with feeding a canned diet. If you feed a canned diet, then this is what Fido gets twice per day, and nothing else is offered at that time. Canned diets tend to be higher in calories, so you do need to be more careful with the amount you are feeding per day so that your dog does not become overweight.
3) Cooking is another option for any dog, but especially for the picky eaters. My clinic sells a homemade, completely balanced diet called Furishnikovs that essentially ends up being a hot dish for dogs. It comes complete with the mix that contains all of the nutrients and vitamins your dog needs, and all you have to do is cook chicken and rice, and add the mixture to this. If you have the time, it actually is a really good, well balanced diet for dogs, and works well for those picky eaters. Make sure to stick to the same feeding schedule as you would for feeding the dry food (two feedings per day, no extras just to get your dog to eat something, YOU are in charge!)
4) If it comes down to it, and you are more than frustrated at getting your dog to eat (on YOUR terms), I would suggest seeking out the help of a behaviorist to consult this over with. Check with your local vet for a behaviorist recommendation.
5) If all of the suggestions above are not working, it could be medically related, especially if there is vomiting and/or diarrhea involved. I would recommend having a complete work up done to include a CBC, (complete blood count to check for red blood cells, white blood cells, and platelets) a profile (to check for liver and kidney values, proteins, and electrolytes) and a stool sample check (to check for intestinal parasites and "bad" intestinal bacteria that could be causing problems). In some cases, X-rays can be taken to assess the abdomen for abnormalities. Further diagnostics would include an abdominal ultrasound and/or endoscopy (+/- biopsies). Talk to your vet for recommendations of diagnostic tests and treatments that can be done if you do suspect that a medical problem is keeping your dog from eating.
**** Please note that this section (other than the diagnostic tests) does NOT apply to cats. Cats are very different creatures, and WILL starve themselves if they do not like a food...... They can become very sick very fast by not eating. If your cat is not eating a diet (and seems healthy otherwise), it is best to continue offering different types of food until you find something that he/she will eat. It is always best to talk to your vet if you have any doubts.