Thanks to the customisability of Salesforce and their excellent training courses (in the form of Trailhead), it's common for many users to get involved with making changes to orgs. End users often submit small tweaks and changes, while back office staff manage larger projects and perform quality reviews.
Users who routinely make changes to orgs usually fall into one of two main categories:
Admins - primarily making declarative changes
Developers - primarily making code changes
In reality, many people sit between the roles and the boundaries are often blurred, but these roles provide a helpful framework to understand the core responsibilities of each user and how they differ.
A typical Salesforce admin
A Salesforce admin typically makes smaller changes to the Salesforce environment, with lots of frequent small course-corrections and quick-fixes rather than multi-month projects. These changes are usually declarative - made via the Salesforce UI in their web browser.
Admins are essential to the ongoing maintenance and efficiency of the org and allow businesses to rapidly respond to changes and updates in the platform.
Some activities for an admin might include:
Data management and cleanliness
User management and the permission and security model
Building out reports, and sales process flows
A typical Salesforce developer
A Salesforce developer may have many of the same jobs as an admin, but approaches them from a different angle. The developer title is very much a spectrum and covers a range of software engineering experience. Developers tend to work on larger, longer running projects and work with larger teams of people. They may be making code changes - working with the command line - in addition to declarative changes.
Developers provide companies with the ability to built strategic and complex functionality in Salesforce to meet their long-term goals.
Some activities for a developer might include:
Building out more advanced parts of the platform such as Apex, Lightning and VisualForce for more powerful extensions to Salesforce
Working with source control and command line tools
Pushing code into scratch orgs
Testing features and providing code review to other developers
Want to learn more?
The website and blog run by SalesforceBen has a great summary infographic on the differences between the roles here.