Separation of Meat and Dairy
On three separate occasions, the Torah tells us not to "boil a kid in its mother's milk." (Ex. 23:19; Ex. 34:26; Deut. 14:21).
The Oral Torah explains that this passage prohibits eating meat and dairy together. The rabbis extended this prohibition to include not eating milk and poultry together. In addition, the Talmud prohibits cooking meat and fish together or serving them on the same plates, because it is considered to be unhealthy.
It is, however, permissible to eat fish and dairy together, and it is quite common (lox and cream cheese, for example). It is also permissible to eat dairy and eggs together. This separation includes not only the foods themselves, but the utensils, pots and pans with which they are cooked, the plates and flatware from which they are eaten, the dishwashers or dishpans in which they are cleaned, the sponges with which they are cleaned and the towels with which they are dried.
The kosher household will have at least two sets of pots, pans and dishes: one for meat and one for dairy. One must wait a significant amount of time between eating meat and dairy. Opinions differ, and vary from three to six hours after meat. This is because fatty residues and meat particles tend to cling to the mouth. From dairy to meat, however, one need only rinse one's mouth and eat a neutral solid like bread, unless the dairy product in question is also of a type that tends to stick in the mouth.
The Yiddish words fleishik (meat), milchik (dairy) and pareve (neutral) are commonly used to describe food or utensils that fall into one of those categories. Note that even the smallest quantity of dairy (or meat) in something renders it entirely dairy (or meat) for purposes of kashrut. For example, most margarines are dairy for kosher purposes, because they contain a small quantity of whey or other dairy products to give it a buttery taste. Animal fat is considered meat for purposes of kashrut. You should read the ingredients very carefully, even if the product is kosher-certified.
In the book of Bereishis, in the story of Yehudah and Tamar, the following verse is said: “Yehudah sent the kid of the goats through his friend the Adullamite to retrieve the pledge from the woman; but he did not find her.” The Talmud points out that the words “kid of the goats” are seemingly redundant, as all kids are from goats. The Talmud therefore learns that whenever the Torah merely says the word “kid,” it implies all young domesticated [kosher] animals. When the Torah specifically means a young goat it says so explicitly, as it does in this verse concerning Yehudah and Tamar. However, in the verse concerning milk and meat where it does not say a “kid of the goats” but rather says “a kid,” we know that it implies all young domesticated [kosher] animals.
The second rule, the Talmud derives from an apparent redundancy in the verses. Instead of this law being taught once, the Torah states it three times. The Talmud clarifies this apparent redundancy by explaining that each verse teaches an additional rule:
The first statement teaches that meat and milk may not be cooked as one, the second imparts that they must not be eaten together, and from the last we derive that one cannot benefit from a mixture of milk and meat that were cooked together.
Regarding the third point, of the Torah’s mention only of the milk from the animal’s mother, it is explained that it was stated as such because that was the common practice. However, cooking any meat in milk is prohibited as well.
From these three abovementioned points, the prohibitions concerning the consumption of meat and milk are derived.
The biblical suppression of these practices was seen by our sages as having an ethical aspect. Sforno argued that using the milk of an animal to cook its offspring was inhumane, based on a principle similar to that of Shiluach haken, the injunction against gathering eggs from a nest while the mother bird watches. Chaim ibn Attar compared the practice of cooking of animals in their mother's milk to the barbaric slaying of nursing infants.
Since the Book of Genesis refers to young goats by the Hebrew phrase g'di izim, but the prohibition against boiling a kid... only uses the term g'di, Rashi concluded that the term g'di actually has a more general meaning, including calves and lambs, in addition to young goats. Rashi also implies that the meaning of g'di is still narrow enough to exclude birds.
The Talmudic writers had a similar analysis, but believed that since domesticated kosher animals (sheep, goats, and cattle) have similar meat to birds and to the non-domestic kosher land-animals, they should prohibit these latter meats too, creating a general prohibition against mixing milk & meat from any kosher animal, except fish.
Rashi expressed that the reference to mother's milk must exclude fowl (birds) from the regulation, since only mammals produce milk.
Substances derived from milk, such as cheese and whey also fall under this prohibition, but milk substitutes, created from non-dairy sources, do not.
Three distinct laws
The Talmudic rabbis believed that the biblical text only forbade eating a mixture of milk and meat, but because the biblical regulation is triplicated they imposed three distinct regulations to represent it:
not benefiting from the mixture in any other way
Rabbi Jacob ben Asher remarked that the gematria of do not boil a kid (Hebrew: lo t'vasheil g'di,) is identical to that of it is the prohibition of eating, cooking and deriving benefit (Hebrew: he issur achilah u'bishul v'hana'ah), a detail that he considered highly significant. Though deriving benefit is a superficially vague term, it was later clarified by writers in the middle-ages to include:
It is not known whether "not benefiting from the mixture in any other way" would also include deriving any benefit from associating with people who, themselves, directly derive nourishment from the mixture.