Names given to the Spanish language
Formally speaking, the national language of Spain, the official Spanish language, is the Castilian language (as opposed to regional Spanish languages like Galician, Catalan, Asturleonese and Basque). As such both names, "español" and "castellano", have distinct and independent meanings that may be required for clarity in some specific contexts.
Generally speaking, though, both terms can be used to refer to the (national) Spanish language as a whole, with a preference for one over the other that depends on the context or the speaker's origin. "Castellano" (as well as "Castilian" in English) has another, more restricted, meaning, relating either to the old Romance language spoken in the Kingdom of Castile in the Middle Ages, predecessor of the modern Spanish language, or to the variety of Spanish nowadays spoken in the historical region of Castile, in central Spain.
History of the Spanish language
The language known today as Spanish is derived from a dialect of spoken Latin that evolved in the north-central part of the Iberian Peninsula after the fall of the Western Roman Empire in the fifth century. A written standard was developed in the cities of Toledo (13th to 16th centuries) and Madrid (from the 1560s). Over the past 1,000 years, the language expanded south to the Mediterranean Sea, and was later transferred to the Spanish colonial empire, most notably to the Americas. Today it is the official language of 20 countries, as well as an official language of numerous international organizations, including the United Nations.