First I want to remember the words of Shanks: “You are dealing with pirate. We are not saints to fight fair”.
And the Marines are no different. Akainu literally attacked Whitebeard while he had a heart attack.
The last chapter shows that Kaido didn’t cheat Oden in their fight and was extremely angered by the interference. Kaido didn’t ask for help. He saw an opening and took it.
Yet people are still saying Kaido is a coward. How?! Because he killed Oden? What was he supposed to do in his position? Switch sides and help Oden? That would be disappointing. Oden was a threat that had to be eliminated because as long as he lived a rebellion was destined to happen.
Kaido was merciful killing Oden. He realized that Oden’s body was done even though he managed such an incredible feat, and going out like this was probably one of the most honorable and dignified ways he could have died given the circumstances.
Kaido killing the old lady for interfering in their fight, showed that he respected Oden in his own way. And Oden told Kaido to get as strong as he can before he died, showing that Oden himself respected Kaido.
Kaido even allowed Oden’s “exact words” pact to be honored. And he also allowed Big Mom to be freed from her shackles before engaging her in a fight. The man has some honor, but that doesn’t mean he has to keep it up all the time. In the heat of a battle, it doesn’t matter.
Often people tend to forget that pirates are not paragons of honour and virtue. Even Luffy himself isn’t, and that’s not a problem, because he himself has multiple times said he doesn’t want to be a hero, and it’s not about fighting fair or not, battles are life-and-death situations and should be treated as so.
When Luffy was fighting Katakuri and Flambe shot him, Katakuri himself apologized but Luffy brushed him off, reminding him that it was a pirate fight and pirates don’t fight fair, that it was his own fault for not dodging.
In a fight, you have to use every opportunity to your advantage. Kaido just acted like the warrior we expect him to be.