What is the difference between ingress network and custom overlay network?

I explicitly use a custom overlay network in a docker-compose.yml and I notice the containers it starts are residing on both custom overlay network as well as on ingress network.

uh, this is interesting, coz if the started containers will definitely resides on the ingress network, do we still need custom overlay network? what is the usage of custom overlay network? why do we just use ingress network only?

also, let’s say we have two custom overlay networks A and B, and we have node 1, 2 in overlay A, while node 3,4 on overlay B. It seems to me that they can communicate with each other coz they are both in the same ingress network?