What’s the difference between “sauce” and “gravy”?
Per the OED, gravy is:
The fat and juices which exude from flesh during and after the process of cooking; a dressing for meat or vegetables made from these with the addition of condiments.
Whereas sauce is:
Any preparation, usually liquid or soft, and often consisting of several ingredients, intended to be eaten as an appetizing accompaniment to some article of food.
In other words, sauce is the more general of the two terms. Furthermore, gravy is usually hot, whereas sauce can also be cold.
Finally, with the rise of vegetarian meal options, you now hear qualified versions like mushroom gravy, which is made of mushrooms not out of simmered flesh-juices, to be served hot over mashed potatoes and the like. In other words, to be used for the same thing as meat gravy is used, but not made from animal flesh.
Note also that while a raspberry sauce can be expected to be made of raspberries, that cranberry sauce is a relish made from cranberries, not something to be spread atop cranberries. Things like Hollandaise sauce are something else again.
There are also extended, transferred, and metaphoric meanings of both these words, such gravy train, stewing in one’s own gravy, and in the old proverb that what is sauce for the goose is sauce for the gander, as well as saying that someone has a saucy mouth, or that they have too much sauce meaning that they are impertinent. Sometimes, too, sauce can mean booze, at least in slang.