Kubernetes provides customization for network automation. You can easily manage internal DNS and accept traffic from the external world.
For internal communication, native Kubernetes options are limited. You can easily extend your internal traffic option with Istio.
You can implement complex network policies easily, even at the endpoint level. You can define mutual TLS between pod-to-pod communication, you can also track and trace your internal traffic communication in Kubernetes cluster.
As a summary, Istio extends your Kubernetes networking options.