You generally never eat cow, because cows produce milk. When you eat beef, it is usually a steer.
Sometimes English uses culinary names - pork for pig, calamari for squid, etc. The explanation for each is likely to be distinct, but e.g. for pork, that's from Latin for pig (porcus) and for some arbitrary reason it stuck around. The answer is probably always going to be some variant on "it's arbitrary", though.
There's nothing arbitrary about it. The Norman invasion meant the English ruling class, and therefor the ones introducing culinary terms, spoke French. Peasants spoke English, which was far more Germanic at the time. So the peasants breeding animals and whos names for the live animal stuck, used the words pig and cow, while those creating what few recipes we do have were using French boeuf and porc
calamari is just squid in Greek, maybe English people learned about cooking squid from Greece since there's so many of them and the word for it just stuck
c. 1300, "an ox, bull, or cow," also the flesh of one when killed, used as food, from Old French buef "ox; beef; ox hide" (11c., Modern French boeuf), from Latin bovem (nominative bos, genitive bovis) "ox, cow," from PIE root *gwou- "ox, bull, cow." The original plural in the animal sense was beeves