While the idea behind network policies is to control access between pods across projects, egress network policies allow you to restrict access from all pods in a project to certain external resources. A typical use case for this feature would be denying pods access to source code from hosting providers and content mirrors to prevent any updates of applications and/or system libraries in those pods. It's important to understand that, unlike egress routers, egress network policies don't perform any redirection of traffic, working on just an Allow versus Deny basis instead.
Let's see what level of access pods our demo-1 project has:
# oc project demo-1
...
# oc rsh httpd ping github.com
PING github.com (192.30.255.113) 56(84) bytes of data.
64 bytes from lb-192-30-255-113-sea.github.com (192.30.255.113): icmp_seq=1 ttl=61 time=61.8 ms
...
<output...