Русский язык многогранный, каждое слово имеет свое значение, несмотря на то, что существует множество синонимов...
Заглянем в происхождение.
Слово супруга походит от понятия, что мужчина и женщина идут в одной "супряге" всю жизнь и что они как одно целое. Это слово обязательно должно использоватся для законных отношений. Оно означает глубокую связь между "супругами".
В то время слово "жена" имеет менее официальное понятие. Оно может использоватся и для гражданского брака и не передает близости и емоциональной связи пары.
С точки зрения етики женой называют свою любимую( моя жена думает...) ,а супругой любимую женщину другого человека (передавайте Вашей супруге поздравления...)
Такая вот разница!