Why did Jesus say He could not give the children's bread to the woman?
Jesus said this because the woman was a Gentile. The 'children's bread' represented what belonged to the Jews, the children of Israel. He explained it was not right to take that which belonged to the Jew and give it to a Gentile; such a transfer would not work.
Les explains that the woman was a Gentile, so she could not use the Jewish term 'Son of David'; she addressed Him as 'Lord.' Jesus told her it was not meet to take the children's bread and cast it to dogs. The children are the Jews; the dogs are Gentiles. Les puts it in that light: it was not right to take what belonged to the Jew and give it to a Gentile—it would not work. The analogy was that one cannot take what belonged to the family of Israel and give it to a Gentile.
But he answered and said, It is not meet to take the children’s bread, and to cast it to dogs.