What's helped me get a grip on DW combat is the idea of blocks and justifications. When the GM places a block, he's deciding "you can't do this thing in the fiction until you give me a reason why" and the player respond with a justification on how he bypasses the block, which could be purely a descriptive fictional action, or it could be a move.
The block could be a duelist's guard; the player can't just Hack and Slash his enemy until he breaks the guard. The justification could be Spouting Lore about a weakness in his style or Discerning Realities and asking "what here is not what it appears to be?" to see how his stance is poised to parry your attack, or maybe a Defy Danger (Dex) to invite his parry and evade his riposte, leaving him open. Or just saying "I lure him to that weak spot in the floor he doesn't know about (that I already do), then when he stumbles, I go for him". Its up to the GM what seems like a good justification.
Some monsters could raise a block as a move, like the duelist going into his guard. They might get to do their block once, and when the players overcome it, the protection is gone. Or it might be something they can put back in place later with another move, perhaps when weak hit or miss gives an opportunity. Of it could be something that automatically goes back in place once the window of opportunity the justification gave closes. For example, the dragon is covered in thick scales. A move that justifies a strike at its belly or eye could allow an attack, but after that the dragon recovers and the block goes up again, until the players find a new justification.
This probably isn't very revolutionary thinking, but I've found it helpful to formalize the ideas in my own mind as a way to think about both monster moves and the situation on a battlefield. And it lets me save the custom moves for noteworthy monsters.