I would say "eş" is a more polite word compared to karı/koca. So, I personally would rather use "eş" especially in a formal context.
Nope. It's the normal standard word for a wife if you're actually married to that woman. You can even say "karıcığım!" to your wife affectionately.
Now if you're going about referring to women in general as things like karı or avrat or manita you definitely risk coming off a bit unsavory.
"cığım" "ciğim" is used as a, term of endearment. "Karıcığım" means "my dear wife". Often added to the end of someone‘s name, it means "dear"/"dearest". Eğ. Yaseminciğim (my dear Yasemin). Its use is generally reserved for people you are close to such as family and close friends. Eg. Anneciğim (my dear mother)