The difference between Record Types and Page Layouts

Why do they exist? What is their purpose for being here?

  

Salesforce Record Types vs Page Layouts
    
One glorious September morning, the Salesforce gods woke up and decided that page layouts and record types would be, from henceforth, the tools us mere humans and admins shall use to customise what users see on a record. What a gift. What a blessing. Unfortunately for them, it was rather a confusing gift than no one really understood how to use initially. Err right. Thank you Salesforce gods for your generosity. It has been most helpful (not). Luckily, sometimes there exists an awesome blog that explains how to use these gifts in such a way that is actually useful to you. And what do you know. You happen to be reading a particularly awesome blog right this instant (cue the sound of the fourth wall shattering).

What is the difference between the two?

Page Layouts

Page layouts are responsible for showing your uses which data is displayed on a record. It's super customisable, so you can change almost any element on a page - add buttons, remove fields, change sections, links, even custom Visualforce code. Then, once you the layout of your page (see where the name comes from?) is exactly how you want it, you can assign that page layout (let's call it 'Page Layout 1') to a group of uses such as Sales, Support, Finance or Management. That way, they'll only see data that is relevant for them! Much coolness.
  
A common trick for young players is that even if a user can't see fields on a page layout, they may still be able to see that field in other places inn Salesforce (like reports). To 200% hide a field from a User, you need to pull out the big guns. That's right. Field level security.
  
There is one important thing to remember. You can only apply one page-layout per object per profile. What? But then how do we make different versions of an object show different things? A-ha! What a coincidentally perfect segue to Record Types...
 

Record Types

We use record types to show different categories or types of the same object. Example. You have the Account object. But within Accounts, you want to show different types of Accounts - Small Business Accounts and Established Business Accounts. These are both Accounts, but you want each to show different information. Maybe Established Business Accounts need to show a pick-list of branches around the world, whereas Small Business Accounts need a pick-list of districts within a region. If we didn't have Record Types, we couldn't really do this - remember we can only have one page-layout per object, so Small Business Accounts might miss out completely. What an absolute tragedy.
  
To the rescue is Record Types. Record Types allow us to differentiate what users see on records of the same object. In our little Account example, we would create two Record Types: an Established Business Accounts Record Type, and a Small Business Accounts Record Type. Boom. Magic abilities granted. Now, we can do a bunch of things such as:
  
  • Displaying different page layouts for one object (yeah baby!)
  • Show different picklist values
  • Restrict field access on layouts based on record types and page layouts.
  • Have different business processes (Lead Status, Opportunity Stage, Case Stage)
   
That's pretty much it folks. These are important concepts to understand in Salesforce because they come up all the time. And when you first come across them, they can be really tough to wrap your head around. But with practice (and a few super cool blog posts) you've got this in the bag.