There may occasionally be nothing wrong with a binary and systemd. To replace the binary without disrupting service, however, you must first stop all traffic to one server in your load balancer, replace the binary, restart the server, ensure it is operating normally, and then resume traffic to the server.
In a nutshell, Kubernetes is designed to orchestrate this; all the processes you run are containers, and the objects Kubernetes provides (such as services, load balancers, and deployments) give you dependable tools and mechanisms to release new versions of code and ensure that everything is operating as intended.
Many others are describing the what, but this is the why.