So this is something I wanted to know the answer about for a long time. Why did the Prophet Muhammad (saw) marry his first cousin but also daughter in law Zainab? This is a question I've also noticed some Muslims are hesitant to answer so if anyone could provide details that would be lovely. Thank you once again.
Praise to be Allah..
About this marriage, There are some verse in The Holy Quran
In one sentence Answer will be: This was a ordered, What allah wanted
Firstly we need to read the Holy Quran Verses
From Surah Al-Ahzab (33) : 37-40
if anyone can read those verse carefully, will got the answer....
And [remember, O Muhammad], when you said to the one on whom Allah bestowed favor and you bestowed favor, "Keep your wife and fear Allah," while you concealed within yourself that which Allah is to disclose. And you feared the people, while Allah has more right that you fear Him. So when Zayd had no longer any need for her, We married her to you in order that there not be upon the believers any discomfort concerning the wives of their adopted sons when they no longer have need of them. And ever is the command of Allah accomplished. 
There is not to be upon the Prophet any discomfort concerning that which Allah has imposed upon him. [This is] the established way of Allah with those [prophets] who have passed on before. And ever is the command of Allah a destiny decreed. 
[Allah praises] those who convey the messages of Allah and fear Him and do not fear anyone but Allah. And sufficient is Allah as Accountant. 
Muhammad is not the father of [any] one of your men, but [he is] the Messenger of Allah and last of the prophets. And ever is Allah, of all things, Knowing. 
There are many things allah give us as a message from those verses
From those verse many islamic rules are implemented in Islam
- anyone can marry adopted son's wife after divorce/talak
- adopted son not actually son of his/her
- ever is the command of Allah accomplished, So anyone will not disobey Allah's Order
- people will criticism, do not discomfort to obey god's order. fear only allah
My understanding comes from surah Ahzab verse 37. There's a detailed commentary on this vere here: http://islamicstudies.info/reference.php?sura=33&verse=37-40
I suspect the reason you'll find people hesitant to answer is because schars differ in the details. Which is why I rather refer you to the verse to study and find your own answer.
May Allah bless us all with correct understanding.