I love Keel's problem statement:
kubectl is the new SSH. If you are using it to update production workloads, you are doing it wrong.
Keel is a container that runs in your k8s cluster. Keel scans a Helm registry for updated releases. When Keel finds a release that matches your upgrade criteria (minor semver incremented, for example), Keel handles the deployment.