Ansible playbook is a script file which contains all the tasks that need to be performed along with all the ingredients required to perform these tasks.
Roles are ways of automatically certain var files, tasks, and handlers based on the known file structure.