Came to this conclusion for teams of our current size based on years of experience and experimentation (never at the expense of the business).
They are a better fit because they are much easier to manage and it's much easier to debug issues when something goes wrong. We are a small team and we hope to stay that way. But our operational responsibilities are growing significantly. The extra cognitive overhead of working with technologies like kubernetes would prevent us from scaling up our effort the way that we want to.
It's hard to answer your question in detail outside of a very long essay.
Kubernetes is overkill, but one will have to pry containers from my cold, dead hands. I will not deal with installing dependencies from the OS package manager and editing /etc files any more.
Yeah I am not hardline anti-Docker. And anti-k8s only for small teams/companies.
With larger teams, I have written and maintained custom k8s operators in production. It was a great fit for the problems we had at that scale of developers.
A terrible fit for the problems my current team has.
Replaced with Linux servers and SSH.
Have done a lot of work with k8s in the past. Not the right tool for my startup.