Both words seem to be defined as 'to smell'.
I can explain the difference with a simple sentence: "Mi flaras la floron. La floro odoras bone."
flari: to sense a smell released by something with one's nose (the subject is a person)
odori: to release a certain smell, perceptible with one's nose (the subject is an object that releases the smell)
In English the word to smell has two different meanings. Sometimes this can be confusing as demonstrated by the following joke from Monty Pyhon:
Person 1: My dog has no nose.
Person 2: How does he smell?
Person 1: Terrible!
The joke is that the person is asking with one sense of the word and the other person is replying as if he used another sense of the word. In Esperanto this wouldn’t work because you’d have to say “kiel li flaras” for the first sense and “kiel li odoras” for the second sense.