The reason words change meaning over time is because of associations. Something has a name, and then things associated with that thing tend to “stick” to it.
The word “kind” is a good example. It started out meaning “a group with a set of characteristics” and it still has this meaning today in words like “humankind”. But from “kind”, we got another word “kin”, which means your family and relatives and people tend to be gentle and good to their family, so you are “kind” to people of your “kin”. Both meanings of “kind” have stuck around to this day because those meanings are so entwined with one another.
“farm” descends from a Latin word that also gave us the word “firm”. “farm” used to mean “a fixed payment for use of land” and this word eventually became associated with the land itself, and in yet another development it came to mean “using land to grow crops and raise livestock”. All this from a word which originally just meant “firm, unchanging, constant”. Languages are amazing