Most species in Crawl have the same dietary restrictions (or lack thereof). However, certain races will require different strategies when it comes to getting food.
Carnivorous races include felids, kobolds, and any character who gains ranks in the Carnivore mutation (and ghouls, but they're a special case and have their own section below). Partial carnivores (those who have one or two ranks of the mutation) gain more benefit from eating meat and can eat raw flesh more often, but gain less nutrition from eating any sort of vegetation. Full carnivores (i.e. felids, kobolds, and those rank 3 of the mutation) can eat chunks at any time, but cannot eat any of the various kinds of fruit or bread rations.
Carnivorous characters probably have the fewest problems with hunger, as corpses are by far the most plentiful supply of food in the dungeon. If you're playing a carnivorous character, there is no reason for your satiation level to ever fall below Very Full unless you are in an area where edible corpses are hard to find, such as The Crypt or The Abyss. If you wish to explore those areas, be sure to carry some nonperishable rations with you. In general, try to consume corpses and save permafood until you need it in the very late game.
Spriggans are fully herbivorous: completely incapable of eating meat. Unlike carnivores, herbivores have significant difficulty finding food because vegetation is not an easily renewable resource. Fruit and bread, while fairly common, will be exhausted outside of Pandemonium or Abyss. Spriggans have a very slow metabolism, so they don't have much to fear from natural hunger. However, they need to be more careful about the hunger costs of abilities and spells.
Troll characters start off with the gourmand intrinsic, which allows them to eat meat as if they were a carnivore without sacrificing the ability to eat vegetables. This is an absolute necessity as their incredibly fast metabolism means they basically need to be eating everything in sight. If you're playing a troll, eat chunks whenever possible, expect to need to eat some of your more permanent food supplies on a semi-regular basis, and consider avoiding corpse-free branches entirely.
Ghouls are carnivores with a twist. As they are undead, they cannot starve to death, but their bodies will rot every so often and this process speeds up when they are hungry. They can fix the rot (and heal themselves) by eating meat, and they even have the unique ability to consume inedible chunks. Ghouls never become full, so they can always eat more meat to cure rot and heal HP. They can also eat meat-based permafood, but this is only useful for staving off hunger, as it doesn't heal rot or HP.
Unlike other races, vampires subsist only on blood. They can drink blood from fresh corpses (use e when standing over one), or they can bottle some of the blood for later (by pressing c), although it won't last forever. If they go without blood, vampires do not starve (in fact, they gain several helpful resistances) but their ability to regenerate health slows and eventually ceases entirely. So while a vampire doesn't have to worry about starving to death, going without blood still isn't entirely safe. Manipulating blood levels is an intrinsic part of a vampire's strategy, so you should plan ahead to determine how thirsty you should be for certain areas.
Mummies do not require and cannot consume food, so they don't have to worry about hunger in the first place.
Casters who have learned the Necromutation spell can use this to get around the issue of hunger by entering a temporary state of undeath. Being in lichform means you require no food whatsoever so long as you maintain it by recasting it every once in a while; it also gives you several nifty bonuses and resistances. There are downsides to this strategy; Necromutation is an extremely difficult spell to cast effectively, you gain the various undead weaknesses in addition to the strengths, and the spell completely removes the ability to eat or drink, rendering potions and foods like royal jelly useless.
Save Your Permafoods
While you will find a variety of nonperishable foods, you should rely on chunks from corpses for nutrition. Save permafoods for branches which contain lots of creatures that are inedible (which may change depending on your species) or that don't leave corpses. Such areas include branches like the Snake Pit and the Spider's Nest, which are both populated by creatures with inedible meat, or the Crypt and the Slime Pits, which are mostly populated by monsters that leave no corpses at all.
Dealing With Meat
Amulets of the gourmand are extremely helpful in maintaining satiation. They boost the amount of nutrition you get from meat, and more importantly they allow consumption of chunks while not hungry (like a troll). With an amulet of the gourmand, you can eat yourself all the way up to Engorged, then switch back to another amulet until you get hungry, then repeat the process.
In dire emergencies, you might try polymorphing monsters and hope they turn into something edible. However, this is an absolute last resort, as you are not guaranteed to get something that leaves behind a corpse at all (let alone an edible one). Plus, there's always the chance that you end up facing down something you're not prepared for.
Under no circumstances should you eat mutagenic or rot-inducing meat only for getting food; neither type provides any nutrition, and both have side-effects that can prove disastrous. Ghouls can get away with eating rot-inducing meat, but then, ghouls can eat basically any meat without any problems.
An average melee character with no special hunger issues can get away with one chunk of meat every couple hundred turns, which is just slightly longer than the time it takes for a corpse to rot. Thus, the average adventurer who's just eaten should wait until they've explored a bit to chop up a new corpse. Low-hunger characters like halflings can often afford to wait until they're hungry to butcher a corpse, high-hunger characters like centaurs or ogres will want to find something new to eat soon after they're done eating a chunk, and trolls or ghouls should probably be eating just about everything they come across.
Several things will affect how often you'll need more chunks (and therefore how often you should butcher corpses), such as heavy use of spells, invocations, or other hunger-inducing abilities; a spellcaster that has just finished a long, difficult battle may need to butcher two or three corpses (or maybe just one big one, like a yak or centaur) to get themselves back to satiated.
Again, ghouls are somewhat of a special case here; they actually heal by eating meat. Thus, ghouls should actively chop up most things they kill so they always have a supply of meat to feed and heal themselves with.
Some monsters like jellies and necrophages will eat any corpses that they come across, as well as hungry ghosts, which also come with an attack that actively drains your satiation. In addition to these enemies, other enemies exist that will make corpses unusable for food through the Animate Dead or Simulacrum spell. Monsters with Animate Dead include any sort of necromancer, shadow imps, orc high priests, etc.
Prior to 0.17, poison resistant characters could eat poisonous meat (that is also gone).
Prior to 0.15, contaminated chunks existed. These were less edible for most species, though hill orcs, ogres, kobolds, trolls, and ghouls could eat them with fewer or no ill effects. Also, centaurs and ogres hungered particularly quickly. Finally, rings of hunger and sustenance existed, increasing or decreasing your characters hunger rate.
Prior to 0.12, characters needed to be wielding a sharp weapon (or have claws or talons) in order to butcher corpses. This made cursed blunt weapons surprisingly dangerous. Also, spriggans could use the Fulsome Distillation spell to turn most corpses into a source of nutrition.