The Crusades happened for the same reason that many military actions begin: the desire for power. In 1095, Pope Urban II organized the Council of Clermont in France and there ordered the First Crusade. Publicly, his reasoning was to give aid to the Christians in and around the area of Constantinople, who had been under attack by Seljuk Turks, and guarantee safe passage to holy sites in the Levant. Note that at this time there is nothing mentioned about recapturing Jerusalem as that won't come about until the third Crusade 100 years later.
In actuality, Urban's reasons probably revolved around his desire to reunite the Eastern Orthodox and Western Catholic churches under a single authority: namely his. This had been an underlying desire of popes since the initial split in 1054 so it stands to reason that Urban could see sending troops to rescue Christians in the center of the Eastern Orthodox church as an opportunity to strengthen his position.
For the noble warriors and knights called to action, they willingly went because they were promised that should they die in holy battle, all of their sins would be instantly forgiven and they would be granted immediate access to Heaven. This would have been very compelling to medieval nobles to have the power to guarantee their entrance into Heaven.
In both cases, it would appear that altruistic motives will lose out to power plays.