Spanish literally - foreigner
Often used by hispanics when refering to white (esp. American) people
It is generally derogatory, but can be used in reference context
American, from the USA. The term comes from the american intervention in mexico in the late eighteen hundreds. Term derives from the popular phrase "green go home" yelled to american troops because of their green uniforms. It does not mean "white" or "caucasian" it is a derrogatory term depending on the context.
Gringa: female gringo. In mexico city it is a dish of shepherd style pork and cheese in aflour tortilla topped with coriander onion and pineapple.
If you travel around South America for any length of time, you'll come to realise that the word "gringo" there is generally synonymous with "foreigner", regardless of race or skin color.
For example an Argentinian is a gringo in Brasil, a Colombian is a gringo in Chile etc. It's used in both Spanish and Portuguese. Technically then, Latinos are the "gringos" in the US...
Most dictionaries say that it originally comes for the Spanish word for greek, which is "griego". This in turn dates back to a Medieval Latin phrase "Graecum est; non potest legi" (It is Greek; it cannot be read). A Spanish version of this is "hablar en griego", to speak Greek and therefore be unintelligible.