The reason for this marriage must be understood in the light of some important details: Islam inherited the inhuman institution of slavery. There were scores of slave men and women in every house. Instantly freeing them, it is clear, would have resulted in a lot of social and economic problems. Islam, therefore, adopted a gradual methodology to do away with slavery. It undertook various measures in this regard.
However, freeing these slaves was not the only problem, which was to be tackled. An even more important problem was to blend and graft them within the normal social structure of the society once they had been set free. Keeping in view the great sense of superiority the Arabs had over slaves, this was an extremely uphill task.
Consequently, the Prophet (peace and blessings be upon him) in order to make them acceptable as normal members of a society took a very radical step. **
He persuaded his cousin sister Zaynab bint Jahsh to marry Zayd ibn Harithah, a slave boy he had set free and brought up as a son. **The marriage took place, but, unfortunately, it could not continue due to certain reasons (
Zaynab was rather unhappy about the marriage, because of Zayd’s former slave status. Zayd was very uneasy about the marriage and asked the Prophet’s permission to divorce her). After this unfortunate dissolution of marriage, the only thing which could console Zaynab was if the Prophet, peace and blessings be upon him, married her.
Furthermore, it was necessary to reform a social custom concerning some erroneous concepts about an adopted son. According to this custom, the Arabs regarded the adopted sons and foster sons equally in all respects. This, of course, is against human nature and as such had to be abrogated. However, as a social custom, it was so deeply rooted in the Arab society that it could only be the Prophet’s personality, which could abolish it. Consequently, on the Almighty’s bidding, the Prophet married her to sympathize with her and to reform this custom.”
Excerpted, with slight modifications, from:
renaissance.com.
So, in the light of the above, it’s clear that the Prophet’s marriage to Zaynab was for legislative reasons. A Divine order was revealed to him for this purpose, and it has to be borne in mind that the Prophet was very reluctant to do so, because of what people might say about his marrying his former “daughter-in-law”. But Allah, the Almighty, wanted to demonstrate in practice the absolute invalidity of adoption in the most practical manner.
More elaboration on this issue is made by the late Dr. Hammudah
Abdul-Ati in his book Islam in Focus. He states:
“Before Islam, the Arabs did not allow divorcees to remarry. Zayd (may Allah be pleased with him) was adopted by the Prophet (peace and blessings be upon him) and used to be called his son, in line with the custom among the Arabs before Islam. But Islam abrogated this custom and disapproved its practice.
Prophet Muhammad (peace and blessings be upon him) was the first man to express this disapproval in a practical way. So he married the divorcee of his “adopted” son to show that adoption does not really make the adopted child a real son of the adopting father and also to show that divorcees have a right to remarry. Incidentally, this very Zaynab was Muhammad’s cousin, and had been offered to him for marriage before she married Zayd.
The story of this Zaynab has been associated in some minds with ridiculous fabrications as regards the moral integrity of Muhammad (peace and blessings be upon him). These vicious fabrications are not even worth considering here.
Meedo: As it is in the explanation above, it was Muhammed Himself who asked Zaynab to Marry Zayd. If he wanted her for him , would he do so?