모양 and 모습 have the same base meaning but are different in nuance and usage.
겉(exterior, surface - Korean native word) and 외 (outward, outside - hanja word) differ mainly in usage contexts.
- 모양 - (outline) shape or figure - used for more simple and fundamental aspects of appearance.
- 모습 - appearance - refers to how something looks overall, including subtle features and general atmosphere.
- 겉모양 (or 외양) - outward shape or appearance.
- 겉모습 (or 외관) - overall outward appearance.
For example, "네 모습이 그리워", "창가에 비치는 너의 모습", "고궁의 옛모습", etc. work well, but substituting 모양 in these phrases would make them sound funny because 모양 doesn't have the all-encompassing sense of appearance that 모습 does. The hanja-based words 외양 and 외관 are more suitable for formal and dry writing and not for day-to-day or poetic contexts.