Expanding on some of the previous answers:
Europe needed to bypass the Moors, and China was self-sufficient in trade or busy with the Mongols. True, but "self-sufficiency" is also cultural. There may be money or prestige to be gained in foreign trade even if it is not strictly needed. And more gold would help to deal with foreign threats. China would call itself the middle-kingdom, and the outsiders barbarians, tributaries, etc, so foreign deals were not valued. The Europeans valued their missionaries and explorers' adventures, as the abundant contemporary literature on missions and explorations attests.
Christianity also would give other advantages: In the XV century, China certainly were much more advanced in many aspects of navigation. It must have had also a corresponding community involved in trade, shipbuilding, navigation knowledge and logistical support, otherwise Zheng He could not go anywhere. But everything disappeared just because the Emperor decided so! He even ordered whole groups of workers killed!
While it is possible for an European king to be a bloodthirsty tyrant, it would be much harder to adopt radical measures such as killing the workers, just to close an industry that is not even disloyal! It would be seen as unchristian.
It would be also strange for a Christian king, who has the means to reach distant pagan places, and strong hope of profit there, just decide that the country must be closed to foreign trade. It is not just about the money, what about the souls of these pagans? A Chinese emperor could not care less about the souls of distant barbarians.
About Jared Diamond book, its most strong arguments are about the difference between Eurasia x rest of world (America, Sub-Saharian Africa, Australia).
Most of its arguments (N-S x W-E orientation, yield of crops, quality of pack-animals, geographical choke-points, etc), are not as strongly applicable to discriminate between countries in the Eurasia landmass (Europe->Middle East->India->China).
So in Eurasia we must look more strongly to cultural or religious arguments.
Also, people often forget that the Portuguese discoveries were a large multi-generational effort driven by the crown and the Order of Christ since the first half (not the second half) of the XV century. Some interesting factors are in play here:
The Portuguese did not just wanted to get rich bypassing the Moors. They were also afraid of another invasion of the Moors (after all, the Reconquista had to deal with Almohads and Almoravids) They knew that the Moors in Morroco had a profitable trade with saharian and sub-saharian Africa via caravans, and if the Portuguese could bypass this trade, it would financially hurt the Morrocans (as it did). If you look the belligerent text of the papal bull about portuguese navigations, "go, invade and slave the ones helping the enemies of the church" it has this context: stop the revenue flow of your enemies or risk being obliterated. So the trade was also a way to win over an existential threat - China did not had this incentive.
Also, the Order of Christ is very interesting. Yes, it was not anymore a true religious order, its members were not celibate or monks anymore, and the king was the grand-master. But, it still had a nice revenue which they must use to defend the kingdom and spread Christendom. If the king would just pocket the money, it would be a impious loss of face before the nobles of the Order. Directing the money towards the navigations was a means of accomplishing all these goals. The other option was to continue the crusades directly, but as 1580 shows, this was not a good idea and many of them could see that. (BTW, the red cross seen in caravels is a symbol of the Order of Christ, not the Portuguese crown)
So, another religious argument, not just a general missionary spirit, but a direct source of revenue coming from an organization heir to the crusades.
About the other great civilizations:
I think the Hindu religion has something against traveling overseas, which is not so important today but might be more important before. At least some Hindu friends told me that. And obviously the Muslims also kept them busy, even more than the Mongols kept the Chinese busy...
The Arabs also did trade and sent missionaries. But jihad could be accomplished with armies - they bordered christian and hindu lands. Why would a large state make a difficult effort to navigate to distant lands if the infidel was just at the border?