Kid said his name in a surprising tone, Kid wasn't focused on Shanks while Shanks already see the future and preparing his own attack to Kid's before Kid's attack to his allies, when Kid saw it Shanks was already attacking him.
If Kid prepared his attack to Shanks then Shanks jumped on him and it happened like Kaido vs Luffy, then it would be differrent.
No excuse for Hancock getting stomped and not able to do anything to break Teach's hold as well then, as I said same thing with Shanks.
If you make excuses then Teach gave Hancock a chance to fight but Shanks did not to Kid, Teach used a basic Darkness move, didn't go all out like Shanks's Kamusari vs Kid, he gave her a chance to use her Haki vs his, Teach didn't tried to KO or kill her immediately right after. He was just holding her and doing nothing but Hancock couldn't fight back against Teach who didn't even use Awakening or Quake DF. This is even worse than Shanks vs Kid.
Hancock's Haki was completely useless vs Teach's Haki. Darkness DF doesn't stop her from using Haki, yet she couldn't do anything vs Teach's superior Haki.
Teach said she would try to win if he let her go, doesn't prove she could win. Rayleigh admitted they couldn't win vs Teach, and they got lucky.
Teach obviously let her go after Rayleigh came so his men turned to normal, and so you think she alone would beat Teach after the moment Teach let her go, adding Rayleigh's help in 2 v 1 it should be too easy for them to win vs Teach then. But instead they gave Teach's men back and trusted Teach not attacking them again and Rayleigh admits they would lose and they were lucky Teach didn't try to kill her.