You have to think of k8s as more of a specification of what can be done with multiple implementations. k3s, kind, microk8s, minikube are all implementations of kubernetes that you might want to try out.
k8s is much like the original IBM pc or a linux distribution. There are a bunch of interchangeable parts that you may land on depending on your needs.
Why use this over something else? I've found k3s to be really simple to setup and upgrade, which is why I use it for my home lab.
If you are in a datacenter, it's best to use the K8s distributed by that datacenter (EKS for AWS, for example).
The EKS provided by a datacenter will have integrations with external to Kubernetes resources you will almost certainly want (like storage, DNS records, or load balancers).
k3s, at least, supports multiple controller nodes on setup.
Where things really get squirrelly, at least with k3s, is storage and ingresses. k3s supports both but in a super robust fashion.
K3s is the lightweight distro. You can install and run it from a single binary on pretty much any Linux distro.
See here: https://docs.k3s.io/
It's fully compliant but opinionated towards the smaller side.