It is normal: Cats, dogs, and humans all naturally have bad breath. It is mainly caused by bacteria in the mouth. The bacteria is normal and aside from some of these native species (normal flora) causing tooth decay and gum disease, it is harmless and may even serve some beneficial role like bacteria in the intestinal tract. Cat's breath will smell like cat food for a time after they eat, much like humans smelling of some of the things they eat.
The bacteria in their mouths is one of several biological weapons cats possess, one of many things that make cats interesting. When a cat bites another cat, they transfer some of these bacteria into the wound which often results in a serious and painful tissue-destroying infection.
John's answer is good in that if their breath smells unusual it may indicate a heath problem or that they ate something inappropriate. Cats can get periodontal abscesses (a form of gum disease), just like people, which can smell particularly foul.
If you just can't tolerate "cat food breath" you can get with your family veterinarian and put together a recipe for home made cat food with should smell better as it is often made of a specific balance of chicken, rice, a bit of vegetables, with some special cat vitamins added.
Puppies and kittens also have strong-smelling breath. Some people find puppy and kitten breath pleasant; probably because it reminds them of how much they like puppies and kittens.