Chef is meant to automate deployment of application stack on servers.
The main unit of Chef is a cookbook. A cookbook contain the list of recipes needed to deploy an application. A recipe can include recipes from other cookbooks, i.e. you can have dependencies between cookbooks.
The main strength of Chef are: