Kami (hair) = 髪
Kami (god) = 神
Kami (paper)= 紙
To that extent, the kanji serve the same purpose as the weird system of English spelling, which gives us "two", "too" and "to". Both may seem arbitrary and unnecessarily complex to non-native speakers, but both help disambiguate the written language - as well, of course, as enshrining many features of historical interest.
That's not to say that a single kanji can't have many different meanings too. That would be too simple! After all, people will always use language creatively, coin metaphors, etc. And connotations will always attach themselves to words, like drifting river weed hooking itself around a rock. Indeed, I have just learned this word, which pleases me greatly with the range of its meanings: 参る (まいる) = mairu: to go; to come; to call; to be defeated; to collapse; to die; to be annoyed; to be nonplussed; to be madly in love; to visit (shrine, grave).
The opportunities for hilarious misunderstanding are legion.
ETA: I forgot to add that 人参 (ninjin) means "carrot". Go figure.