Creating custom roles in Snowflake involves three main steps. First, you create the role with CREATE ROLE. This adds the role to the system but it has no permissions yet. Next, you grant privileges like SELECT on databases to the role. Finally, you assign the role to users so they can use those permissions. The execution table shows each step's SQL command and how the system state changes. Variables track roles, privileges, and user assignments. Key moments clarify that roles start empty and users need role assignment to gain permissions. The quiz tests understanding of when privileges are granted and when users gain access.