User: User is a person or End user think about people. IAM User has the same concept as any other “users”
IAM user has permanent long-term credentials and is used to directly interact with AWS services.
An IAM user is an entity that you create in AWS. The IAM user represents the person or service who uses the IAM user to interact with AWS.
A primary use for IAM users is to give people the ability to sign in to the AWS Management Console for interactive tasks and to make programmatic requests to AWS services using the API or CLI.
Role: Role is basically an AWS Service, IAM roles are meant to be assumed by authorized entities, such as IAM users, applications, or an AWS service such as EC2.
An IAM role is very similar to a user, in that it is an identity with permission policies that determine what the identity can and cannot do in AWS. However, a role does not have any credentials (password or access keys) associated with it