The causes of development of new meaning can be linguistic and extra-linguistic (historical).
By extra-linguistic causes we mean different kinds of changes in a nation’s social life, in its culture, knowledge, technology, arts, which lead to gaps in vocabulary. E.g. the change of the lexical meaning of the noun pen was due to extra-linguistic causes. Primarily pen comes back to the Latin word penna (a feather of a bird). As people wrote with goose pens the name was transferred to steel pens which were later used for writing. Still later ant instrument for writing was called pen. The same process concerns the word write. It comes back to the Old English word writan which meant to cut. Then it got the meaning “to cut letters on the tree bar”. At present this word means to write by any means.
The same thing happened to the word harvest. In Old English it had the meaning of autumn, that is the time to gather the harvest. But after French borrowing autumn appeared in the English language, it won the conflict between the two synonyms and consequently the word harvest changed its meaning for crops (n) and “gather the harvest” (v).
By linguistic causes we mean those that relate to the processes taking place in the language itself. There are at least three linguistic causes: discrimination of synonyms, ellipsis and change by the analogy. Let’s turn to the first one – discrimination of synonyms. The development of meaning may be caused by the influence of other words, mostly synonyms. E.g. the noun tide in Old English was polysemantic and had three meanings: time, season and hour. When the French words time, season and hour were borrowed into English, they ousted the word tide in these meanings. That’s why it was specialized (narrowed) in its meaning and in Modern English has two meanings: 1. regular rise and fall of the sea caused by the attraction of the moon; 2. flow. This process is universally called discrimination of synonyms.
The second linguistic cause may be described as ellipsis. It is typical of any language to make the speech concise and economic. E.g. in Old English there was an expression to starve of hunger (умирать от голода). But the word combination of hunger was then omitted and to starve got the meaning of the whole phrase. The process of obtaining the new meaning by the verb to starve was also greatly influenced by the fact that Scandinavian borrowing die with the same meaning «умирать» came into English.
The same thing happened to the phrase eye witness with the meaning «свидетель». The word eye was then dropped and witness got the meaning of the whole expression. Still the same happened to the phrase the train of carriages.
The third linguistic cause is change by the analogy. It is based on the fact that if one of the members of a synonymic group acquires a new meaning, other members of this group change their meaning too. E.g. the words to get, to catch, to grasp had the meaning of “to take hold of something”, but the verb to get in the conversational language developed the meaning “to understand” and that’s why the verbs to catch and to grasp developed the same meaning.