Code-switching, the spontaneous switching from one language to another within a single speech event (Appel & Muysken, 1987), is essentially a linguistic concept derived from language contact research. The notion of bilingual code-switching has been far-reaching: it has been the topic du jour for decades in the field of sociolinguistics, it has been incorporated into cognitive studies to further the study of bilingualism, and it has been adopted into social psychological research from attitudes to identity. While each field has its own perspective of the concept and ways of operationalizing it into their respective methodologies, it remains necessary to have a well-rounded understanding of this linguistic concept and its definitions, constraints, and functions. An overview of the core ideas linked to code-switching will be explained, followed by a discussion of the studies that have incorporated the construct into cognitive bilingualism research and the social psychology of language. Finally, implications and future avenues for the study of code-switching and bilingualism will be discussed.