What is the deference between IAM role and policy?
IAM Policies are permissions you set for AWS resources.
You can attach IAM Roles to AWS resources, which need to access/use other AWS resources. Also IAM Roles can be assumed by users e.g. in case of cross account access.
IAM Roles contain one or more policies you attached.
Roles (and users and groups, and some resources) are objects to which policies may be attached.
The policy is an attribute of a role (or user, or group) where the permissions for that role (or user, or group) are defined.