Profile :-

1. A profile is a group/collection of settings and permissions that define what a user can do in salesforce.

2. A profile controls “Object permissions, Field permissions, User permissions, Tab settings, App settings, Apex class access, Visualforce page access, Page layouts, Record Types,      Login hours & Login IP ranges.

Permission :-

1. A permission set is a collection of settings and permissions that give users access to                various tools and functions.

2. Permission sets extend users' functional access without changing their profiles.