"odd", "weird", "rare" and "strange"

Weird is one of my favourite words. It means, strictly speaking, supernatural, connected to fate or destiny. see weird - Wiktionary. Nowadays we use it to suggest supernatural or at least very odd causes for a phenomenon.

Eg I heard a weird, wailing noise last night, it must have been a ghost;
compare with:
I heard an odd screeching noise, I think we need to get a plumber to look at the heating pipes.

Rare can mean precious, eg rare stones, but it may just mean very uncommon, eg a rare form of cancer.

Odd means strange, unusual, literally irregular or uneven.
Strange comes from Latin extraneus, “that which is on the outside”, and means, strictly speaking, foreign or outside of what we consider normal.

There is very little difference in practice, perhaps just a shade of implied difference (disapproval or disbelief) when talking about a person or event:

Eg. My son is a rather odd (unusual) boy. He has weird (supernatural?) dreams and the rare (statistically uncommon) ability to play music by ear. Some of his teachers think he is strange (a hint of disapproval in this), the others don’t mind his oddness (no hint of disapproval) and some even find his weird (hint of amusement or disbelief) behaviour interesting.