During the last decade, much attention has been paid to language competition in the complex systems community, that is, how the fractions of speakers of several competing languages evolve in time. In this paper we review recent advances in this direction and focus on three aspects. First we consider the shift from two-state models to three state models that include the possibility of bilingual individuals. The understanding of the role played by bilingualism is essential in sociolinguistics. In particular, the question addressed is whether bilingualism facilitates the coexistence of languages. Second, we will analyze the effect of social interaction networks and physical barriers. Finally, we will show how to analyze the issue of bilingualism from a game theoretical perspective.