Ethnicity vs. Nationality vs. Race vs. Heritage vs. Culture
Ethnicity
Ethnicity is based on a group (called an ethnic group) that is normally based on similar traits, such as a common language, common heritage, and cultural similarities within the group. Other variables that play a role in ethnicity, though not in all cases, include a geographical connection to a particular place, common foods and diets, and perhaps a common faith. Race is a word with similar meaning though describing more physical traits, as opposed to the cultural traits of ethnicity.
Race
Race is similar to ethnicity, but relates more to the appearance of a person, especially the color of their skin. It is determined biologically, and includes other inherited genetic traits such as hair and eye color and bone and jaw structure, among other things.
Nationality
90% of the time, nationality refers to the place where the person was born and/or holds citizenship. However, often times nationality can be determined by place of residence, ethnicity, or national identity. If a person was born in Country A but immigrated to Country B while still a toddler (yes, with their family), he or she might identify more with the Country B nationality, having been raised there. Another point regarding nationality is that there are some nations that don’t have a state, or international recognition as such, yet people may still point at it as the source of their nationality, such as the Palestinians, the Kurds, and the Tamils.
Article 15 of the Universal Declaration of Human Rights states that “Everyone has the right to a nationality,” and “No one shall be arbitrarily deprived of his nationality nor denied the right to change his nationality.”
Now, let me throw a few more at you to add to the confusion:
Citizen
A citizen is typically either born in the country, born to citizens of the country while abroad, married to a citizen of the country, or becomes a citizen through the naturalization process. A citizen is a complete member of the nation, able to vote and hold elected office.
National
A national is a person born in an area that is in the possession of a country, but not part of its general administrative area. For example, American Samoa is an unincorporated territory of the United States, and its people are considered U.S. nationals; American Samoans may not vote in U.S. presidential elections, or hold elected office in the U.S., but are entitled to free and unrestricted entry into the United States.
Heritage
Heritage can overlap on the ethnicity and nationality a bit at times, but it generally refers to the ancestors of a person, and what they identified with. For example, a child born to naturalized U.S. citizens hailing from Venezuela could say they have a Venezuelan heritage, even if they don’t share the ethnicity (perhaps they can’t speak Spanish), and they are American as far as nationality.
Culture
Culture is similar to ethnicity, yet really more of a microcosm of it. It may involve one trait or characteristic, sort of like a subset of the various traits that make up an ethnicity. Perhaps a person may be ethnically Jewish, or they could subject themselves to simply one or two things of Jewish culture, such as wearing a kippa; this person may not necessarily relate with the entire macro-ethnicity that is being Jewish.
Identity
Identity is whatever a person identifies with more, whether it be a particular country, ethnicity, religion, etc. I read this great article by Zeba Khan on MuslimMatters.org: she was born in America, to a Pakistani father and an American woman of Irish descent; she doesn’t identify with either Pakistan or Ireland (too white for Pakistan, too dark for Ireland), and not much with America (she wears the hijab and eats halal). What she does identify with is her Muslim faith, which is similar across boundaries throughout the world.