A Record Type lets a single object support multiple business processes by varying picklist values, page layouts, and processes per record. The object schema stays the same — same fields, same API names — but different users see different versions of it.
Classic example: you have one Opportunity object but two sales motions — New Business and Renewal. They use the same Stages picklist, but New Business should only show stages like Prospecting, Qualification, Proposal, Closed Won, while Renewal should show Engaged, Negotiating, Renewed, Churned. You create two record types, configure each one's picklist values via the master picklist, and assign different page layouts so each shows the right fields.
Record Types also drive sales paths, approval routing, and even validation logic (RecordType.DeveloperName = 'Renewal'). They're assigned per profile or permission set, and a user with access to multiple record types is prompted to choose when creating a record.
A common mistake is overusing them — every business unit asks for "their own record type" and you end up with ten variants that mostly duplicate each other. Rule of thumb: use Record Types when picklist values, page layouts, or processes meaningfully differ. If only the page layout changes, page layout assignments alone are enough.
