Of all of the issues where the Catholic Church differs from most other Christian denominations, this one is by far the most crucial. Jesus tells the multitudes, after having performed the miracle of the loaves and fish, that His body and blood are the way to everlasting life. When members of the crowd doubt what he says, he repeats it with even more force (John 6:51-58). Each time Catholics go to communion, they follow the command of Jesus and become one with Him.
I have not been able to understand how some Christians can claim that the opening of Genesis must be taken literally, but this passage (and many other similar passages in the Gospels and the Epistles) is only a metaphor. How can they get these readings so backwards? Christ is extremely clear: We are to chew His flesh and drink (not sprinkle as was the tradition in Jewish sacrifices at the time) His blood.
Why did He do this? In my mind, the answer is simple. Jesus intentionally did not marry or have children. Doing so would have caused the divisions that we can see in the religion of Islam. Doing so would have also limited who could truly become divine. Jesus's message has always been one of inclusion. By taking in His true body and His true blood, we become His children in more than just name. Anyone who partakes in the body and blood of Christ become His descendants, heirs to His power and kingdom.
As for the whole cannibalism issue, that's why Christ showed us at the Last Supper how priest can use transubstantiation to make bread and wine become His body and blood. As a visiting priest once remarked, "The true miracle of transubstantiation is not that bread and wine become the body and blood of Christ, but that they still taste like bread and wine."