Well, science teaches that everything happens for a reason--it's called "causality."
When religions say that everything happens for a reason--and Christianity is not alone in saying such a thing--what the religions are saying is that *life has meaning.*
In other words, there is not only a cold, scientific causality at work in the world; there is also something else going on. Eastern religions might call it "karma," a kind of cause-and-effect that promotes soul building. Western religions might call it the love of God.
But whatever one calls it, the religious point of view is that there is something going on in the universe--something other than the cause and effect of physics--something "spiritual," something that is not limited by the physical universe but in fact transcends it. And no, this does not contradict free will, because building "soul power," or strength of character, is one of the meaningful results.