Profiles are a very important and powerful security feature. The same way each user in Salesforce can have a role, each user must have a profile. Profiles allow you to set access to objects that are more powerful and overwrite other security settings. While profiles cover a multitude of settings, we will only focus on the object settings in the context of sharing and visibility here.
Profiles
A business use case
You are the Salesforce admin for XYZ Widgets. The sales manager has requested that a group of users, all of which have the Service Manager profile, should have View All access to the accounts object. You will do this by updating the Service Manager profile.