The soup of the Chef ecosystem has always seemed hard to understand (and teach new team members): Chef, Chef-solo/zero, rubocup, test kitchen, food critic, berkshelf automate, delivery druck, inspec, infa, etc...
With containers and immutable infrastructure there just isn't the need anymore. They obviously realized this and created Habitat as a response, but after trying it a few times, I don't see why I'd use it over plain old Docker + K8s.
If you still need configuration management, Ansible is more flexible, is easier to learn/teach (no need to learn Ruby), agentless, no need to run a sever and can also do some orchestration.