Why do I give my pets "food" but my livestock "feed"?
Solution 1:
Germanic languages like English inherit a distinction between eating (of people) and eating (of animals). German has two verbs, essen and fressen, that make precisely this distinction. To say that Er frisst es instead of Er isst es 'He eats it' is an insult, implying he's eating like an animal.
English has lost the special verb, but has adapted the causative feed 'cause to eat, provide nourishment' to work with both senses, and its Zero-suffix nominalization feed to refer to food intended for animals. It appears in several fixed phrases: a Seed and Feed store sells food for animals plus seeds and gardening stuff; if you are off your feed then you have little appetite and are behaving like a sick animal; a good feed is a banquet where everyone eats too much.
And as The English Chicken has pointed out, pets are honorary humans and they get treated like humans in our language, with pronouns like he and she (never it), and this is just another reflection of that fact.
Solution 2:
Generally, feed is what you give to animals, while food is for people. Pets like cats and dogs enjoy an elevated status as human companions, so their meals are also called food, unlike those of the more impersonal livestock on a farm (Hence chickens have to contend with feed ... sigh).
Solution 3:
Food is the older of the two words, with feed coming into use as food for cattle only in the sixteenth century. The OED’s definition of food is ‘Any nutritious substance that people or animals eat or drink’ (my emphasis) and, as The English Chicken has mentioned, we still speak of dog food and cat food. Conversely, feed can be that which is consumed by humans, if only colloquially. One OED citation has ‘The cook is French and feed delicious’ and, another, in a rather different sense, ‘Little boys . . . having a feed of ice-cream.’