The inner workings of most Salesforce stuff is meant to be a black box. It doesn't really matter if, for example, a picklist is implemented as an ENUM in Oracle or if it's a foreign key to a separate table. It's Salesforce's responsibility to design, test, and maintain that; and to provide documentation for us, their customers.
Picklists
A picklist is just a field, and outside of allowing different values based on recordtype, there's not much more to it than that.
You can have dependent picklists (which allow you to restrict which values are shown based on the value of a "controlling field").
Recordtypes
Recordtypes are more powerful
- You can assign a page layout to each Recordtype (which allows you to include or exclude specific fields, and make some fields read-only at the UI level)
- You can restrict access, only allowing some profiles (or, as Salesforce is moving people towards, PermissionSets) to create records using that Recordtype
- Picklist values can be (read: must be additionally) managed through the RecordType
- You can make a "quick action" that creates a record of a specific record type
So which should I use?
My vote is for RecordTypes
For enforcing company controls/business rules, like preventing the Sales department from issuing refunds (as that could create a perverse incentive) or preventing HR from seeing customer contact info (GDPR, probably), Recordtypes are probably the simplest and most effective tool.
The easiest way to prevent someone from mucking around with data they shouldn't be touching is to not show them that data in the first place (failing that, making it read-only for them). Recordtypes with page layouts accomplishes that.
Picklists are more for multi-valued things within a single process, like priority/escalation for customer complaints, country/region, billing terms (net 30/60/90, etc...)
Salesforce does give us enough rope to hang ourselves. You could implement processes and controls using picklists and other tools like Validation Rules and Approval Processes, but it's really easy to increase the administration load and user training load when taking that approach.
Remember that quick/temporary solutions tend to be rather permanent. Try to do it right the first time, and use as few moving parts as is reasonable.
Considering if one has clients,?