User pools are for authentication (identity verification). For example, sign-up, sign-in, user data, user tracking.
Identity pools are for authorization (access control). For example, generate temporary AWS credentials for unauthenticated users, or give your authenticated users access to your AWS resources.