The difference between 여자 and 여성 is Hanja.
To translate it into English...
여자 is for 'female human' = woman.
여성 is for female gender = woman.
So 여성 is more used in a formal public situations like reports, articles, anouncements, presentation etc.
여자 is more used in personal situations like introduction or in normal conversations.
Hope it could be a help.
;)