Why do some words have two opposite meanings?
Single words that have two contradictory meanings are known as contronyms. The number of contronyms in English is small, but they are significant.
Examples include:
dust: 1 to remove dust. 2 to cover with dust.
hysterical: 1 frightened and out of control. 2 funny.
nervy: 1 showing nerve or courage. 2 excitable and volatile.
moot: 1 debatable. 2 not worth debating.
fast: 1 moving quickly. 2 solid and unable to move.
seed: 1 to sow seeds. 2 to remove seeds.
weather: 1 to withstand a storm. 2 to wear away.
screen: 1 to show, e.g. a film. 2 to hide something.
bound: 1 fastened to a spot. 2 heading for somewhere.
sanction: 1 to approve something. 2 to boycott something.
apology: 1 an expression of regret for something. 2 a defence or justification of something.
strike: 1 to hit. 2 to miss (in baseball).
Terms like these are also sometimes called Janus words, named after an ancient Italian deity, regarded as the doorkeeper of heaven and represented as having two faces, one on the back and one on the front of his head. Janus words look both ways thanks to their contradictory meanings. (Incidentally, the month of January is also named after Janus, as it stands at the entrance of the new year.)
Words such as those listed above take on different meanings purely as a result of usage over time. The word blunt began to mean ‘dull’ or ‘obtuse’ in the context of a knife right at the end of the fourteenth century; 100 years later it could also mean ‘sharp’ in the context of a direct and unceremoniously made comment.
Similarly, to bolt something is to fix it firmly, but can equally be applied to someone springing away with a sudden bound. Both meanings, separated by some 300 years, emerged from the original use of ‘bolt’ to mean a projectile or missile such as an arrow: it could travel at great speed and was also shaped like a pin that could be used to fasten something down.
Another in the same category came about through changes in pronunciation. The word cleave can be used for ‘splitting apart’ or ‘joining together’. Etymology reveals that Old English had two words: cleofian, ‘to stick together’, and cleofan, ‘to split apart’. Over time the two words began to sound the same and merged into one word, ‘cleave’.