"Political correctness" is a term associated with conservative politics. It compares concerns about the use of insulting words to Stalinist political oppression. As such, the term itself is controversial and somewhat aggressive. Using it will make you sound like an asshole to a lot of people, so be careful. If you want to know more about the history, modern usage, and connotations of the term, you should probably ask on the Politics SE. Any more about politics would be off-topic here, so I will focus on the spirit of your question. Since I am an American, my answer will be unavoidably tied to U.S. culture and politics.
In general, the meaning behind your words is more important than your choice of words. There are no solid, objective rules for avoiding insult, but these guidelines might help:
- Avoid using terms that are insulting or degrading by nature. Racial slurs are a big category (e.g. "nigger" [black person], "spic" [Mexican], "kike" [Jew]). There are also insulting terms for other groups, such as "cunt" [woman] or "faggot" [homosexual]. A borderline example is "retarded" [intellectually disabled], which is a common insult that used to be a medical term.
"Gypsy" is often not considered insulting in the U.S. because there are so few Romani here, and we do not have a history of oppressing and murdering them like Europe does. "Illegal immigrant" and "undocumented immigrant" are a special case. To a large extent, which term you use depends on your opinions about the immigration debate in the United States.
- Be aware of diversity. In particular, remember that people are not always straight, white, male, Christian, and/or fully able. People outside of those categories have been ignored and marginalized for centuries, and for many people that treatment continues today. Do not assume that everyone who hears your words shares your background and experiences. Address your words to the broadest group of people possible unless there is a good reason not to.
There's nothing wrong (or "un-PC") about calling someone blind, but there are also many people who have poor vision but are not blind. Likewise, "hard of hearing" and "deaf" are not the same thing. Using the broader terms includes more people who may be interested in what you have to say.
Avoid stereotyping members of a group, especially a group that you do not belong to. Making assumptions about people you don't know is rude, even if those assumptions are widely held.
Listen to what other people have to say and take them seriously. If someone tells you that your words are insulting or degrading, try to understand them before you start arguing. Think about whether it's really necessary for you to use a certain word or phrase.
There are exceptions to all of these guidelines, but they should be enough to get you started. Language is tied to history, culture, and politics. If you want to learn more about this subject, you'll need to study those. If you have more questions about specific examples, I'll be happy to add them to my answer.