One profile can be assigned to multiple users. But one user can’t have more than one profile at a time.But in the case of permission sets, One user can have multiple permission sets at a time, and also one permission set can be assigned to more than one user.
When you should choose Profiles ???
When you have set of permission set which needs to be shared with multiple users, then you can give all the users the same profile.
When to choose Permission set??
If there is a specific permission, or access that you don’t want to share with everyone but only with few users, then you can go for Permission Set. Just like profiles, through permission set also you can control object and field level security.