Here’s something that’s good to know: No good means something has no use or value, and has no potential of becoming good. Not good means something is bad or undesirable. The correct way to use them isn’t that clear cut. At times, there’s no difference, and they can be used interchangeably.
When good is used as a noun, no can quantify or modify it. For example, “No good can come from this evil plan,” or “His suspicious behavior indicated that he was up to no good.” In these sentences, we can’t really use not in place of no because both nos refer to a quantity of zero good. And yes, that is the plural of no. Some writers connect no and good with a hyphen when it’s used as an adjective phrase that’s connected to a noun (e.g. “The no-good dishwasher stopped working again,”).
No good is an adjective phrase when good modifies a noun and no indicates the degree to which good applies. No good is the complete absence of good. It means something is of no use or value for anything or to anyone. It can refer to a person, as in, “Jack was always in trouble. He was just no good.” It can describe something as useless or worthless, as in, “The spare tire is no good. It has a hole in it.” It can also describe something that’s gone bad or lost its effectiveness, as in, “This milk is no good. It expired last week.”
Not good is used strictly as an adjective. Not acts to disqualify something from being good. It implies that something is either bad or mediocre. It’s used as an adjective to describe the condition or state of something, as in, “Chocolate is not good for dogs.” It can’t be used as a noun.
Not good means something has (or once had) the potential to be good, but isn’t. For example, “That dinner was not good,” implies that particular meal tasted bad. Saying “That dinner was no good,” can imply that there wasn’t a single good part of the meal or that it didn’t satisfy the speaker’s hunger.
Not good also can imply that a situation hasn’t reached a conclusion. “Mary’s chances of finishing the race after twisting her ankle are not good,” means that there’s very little possibility of Mary finishing her race. There may be some sliver of hope, but not much. If we said “Mary’s chances of finishing the race are no good,” it would mean it’s impossible.