This is a good point. I don't understand the contracts that are written up by ICANN and the various registries. Take the RegFly incident for example.. RegFly clearly violated the contract, yet ICANN, at first, claimed they couldn't do anything because of the way the contract was written.
Here's an idea.. Write the contract so that if someone violates it, the registry has the right to terminate the domain, instantly... If the registrant wants to bring up a claim against the registry afterwards, that's their prerogative... But registries are not helping their image or authority by agreeing to contracts that cripple their ability to enforce their own rules.
Maybe I'm missing something here?