The point is to make it easier to read, and to show how the words relate to each other in a string of words. Even where the same words are used in different contexts, it's that aim that determines what should happen. Therefore, the same words may or may not be hyphenated according to context.
So, roughly (like many rules of grammar, these are somewhat more like guidelines, so there will be exceptions):
- Are there at least three words in the string/concept? If not, no comma.
- Does one adjective modify another word? If so, hyphenate them.
Thus "in cold blood" has no hyphen (rule 1, only two words in the actual concept), but "cold-blooded murder" (three words, cold-blooded describes the murder but cold modifies blooded, rather than murder).
And "high-power networks" means networks carrying high power (high modifies power), whereas "high power networks" means power networks located at altitude (both high and power modify networks). Which ambiguity is the point of the rule, and the reason why it's important to get it right. Again though, there will be borderline cases where you could make a case for doing it either way. Language is like that.