The biography of Zhou Yu (周瑜) in Sanguozhi (三國志) has offered the answer to your question. Zhou Yu claimed :
His main points :
1. The army number of Cao Cao was extraordinarily overestimated. In fact, he only marshalled 150,000-160,000 troops in total from the north. Though he had additional 70,000-80,000 troops annexed from the conquest of Jianzhou, these troops’ loyalty was highly questionable.
2. The enemy troops had been exhausted already after the long and arduous march through vast territories.
3. Cao Cao could be defeated by the smaller but fresh army ！
Zhou Yu also provided other arguments to support his thesis :
4. The northeners are not accustomed to naval combat, while the Jiangdong people are superbly excelled in that.
5. Cao Cao’s army will not garner enough fodders for horses due to the harsh winter.
6. Ma Chao (馬超) and Han Sui (韓遂) menaced Cao Cao at the western front, diversed the substantial proportion of Cao Cao’s military resource.
Thanks for reply. I think that Cao Cao included lots of Jiangdong naval experienced soldiery in his train together with their numerous ships. Did he really execute their top admiral or few of them, Cai Mao I think? Or is it only in Romance?