The manga explicitly tells us how Shanks stopped Kaido, they fought, what we forget to ask is what sort of fight was it? A full blown or a skirmish? We’re told exactly what sort of fight.
Shanks and Kaido had a skirmish – not to sound condescending, but a skirmish/scuffle is a brief exchange, not a full-blown battle. It doesn’t say Shanks defeated Kaido, just says they had a skirmish. Surely, Shanks is not so weak that he can’t even handle a skirmish against Kaido. The Emperors are individually extremely powerful, a fight between them would likely last hours at least. Could very well be days. They didn’t have an all out battle, but a skirmish.
Then we have to ask what was Kaido’s goal?
His goal was to go after Whitebeard; Crocodile tells us that Whitebeard going up against the entirety of the World Government was the only opportunity to defeat Whitebeard – next chapter, Kaido coincidentally gets into a skirmish with Shanks implying he was attempting to take this opportunity too.
Even if we go with Kaido defeats Shanks in a fight, it wouldn’t be a short fight. By the time the battle is over, Kaido would be weakened and the entanglement between Whitebeard and the Marines would have ended. Putting all of these factors together, there was no point for Kaido to fight Shanks for a prolonged period because he’d still not have achieved his goal because Shanks was not going to get out his way unless Kaido wanted a full blown war between his crew and theirs.
Some try to rationalise that Kaido can simply be spoken to and then he’d politely turn around, he’s a character who seems to rely on conflict before anything else. It’s highly unlike that Shanks just spoke to him over tea, and Kaido decided to turn around like a reasonable fellow.
*Theory by HPsyche