In Republican and early Imperial Latin, mulier was more common, and fēmina was more markedly respectful
Although it might seem surprising to speakers of modern languages where using the word "female" instead of "woman" can have a derogatory connotation (as I think can be the case in English, or in Italian*), we have evidence that for Cicero, the word fēmina was used to refer to women distinguished by higher social class or virtue, while the more common word mulier expressed the sense of "woman" with a neutral or pejorative tone.
However, in later authors we see the word fēmina develop a more general sense than that found in Cicero or other Republican authors, impinging on neutral uses previously reserved to mulier.
(In authors of all periods, fēmina is used with the meaning "female", the antonym of mās "male"; thus, an animal can only be described as fēmina, and in that context the word has no respectful connotation.)
Quotations from Adams 1972:
Latin is unusual in that femina tends to be employed rather as a respectful term denoting a woman of moral or social distinction. (page 234)
femina [...] first occurs extensively in prose as a neutral equivalent of
mulier in the educated language, from the second century A.D. onwards. In vulgar Latin mulier alone had the role of neutral term until much later ... (page 238)
In poetry femina is already preferred to mulier as the neutral term from the Augustan period onwards (page 239)
Quotation from Santoro L'Hoir 1992:
Femina parallels vir in that it is applied specifically to women of the highest rank. Because of the word's aristocratic moral qualities, Cicero sometimes employs it to confirm the respectability of a supportive witness, or to create an atmosphere of sympathetic response for the benefit of the jury-the word femina often evoking connotations of helplessness based upon idealized values of femininity. Mulier, on the other hand, corresponds to homo, being used to indicate members of the
lower classes, including freed slaves, foreigners and barbarians. Moreover, Cicero employs the former term with pejorative adjectives for members of the upper classes, as he did the latter to males of the aristocracy, in order to diminish their status. In other words, mulier, like homo, was used as a term of abuse. (page 30)
Mulier in reference to women in general is totally neutral. (page 32)
There is further discussion in these two cited works.
Mulier denotes adulthood or maturity and may (but does not always) connote sexual experience
Because fēmina means "female", a puella is technically a fēmina, but is not a mulier. Since the word mulier has the more specific literal meaning of "adult female human", it can be used to mark a contrast with puella "girl" or virgō "maiden", "young woman", "virgin".
Mulier is often used to denote a mature woman in opposition to
a puella: e.g. Lex Rib. 39.3 ingenuam puellam vel mulierem; Ed. Rothari 26 si quis mulieri libere aut puellae in via se anteposuerit; Fredegarius p. 142.14 mulierum et puellarum suggestionibus; Leg. Visigothorum p. 127.9 in puelle vel mulieris nomine. From here it was a simple step for the word to take on an implication that the mature woman in question was also sexually experienced. Hence its use at all periods in opposition to virgo.
But this latter usage is sporadic and determined by the context. Mulier can equally well be employed, even outside Biblical Latin, of an adult woman who has not had intercourse (page 248; footnotes omitted)
Uses in later, Christian authors
It appears that after a certain point, the respectful sense of "fēmina" becomes less felt, and it seems harder to say how the words may have been distinguished in meaning from then on—or if they even were at all.
Adams's section II "The Emphatic use of Mulier and Femina" discusses the gradual rise of femina used in opposition to vir; mulier was by was by far the preferred word in this context in Republican Latin, but we have evidence that vir(i) vs. femina(e) became a typical pairing during later periods (pages 242-249).
Adams notes that
Quintilian, while preferring vir/femina to vir/mulier (at 9.4.23 he comments on viri ac feminae in terms which imply that it had become a fixed phrase: est et alius naturalis ordo, ut 'viros ac feminas', 'diem ac noctem', 'ortum et occasum' dicas potius, quamquam et retrorsum) continues to use mulier emphatically as often as femina
Augustine interprets certain instances of mulier in the Vulgate (which generally uses it consistently to express the basic sense "women") as a Hebraism (Adams, page 247), which seems to indicate that in his time the frequency of the word fēmina had increased, and perhaps that of mulier had declined. In particular, Augustine seems to find the use of mulier to refer to Mary worthy of comment, given that she was a virgō (see below on the potential use of mulier in opposition to virgō). However, Adams points out that
Even Augustine himself sometimes employs mulier as a general term which obviously includes both virgins and non-virgins: e.g. Civ. Dei. 3.17 atque in tarda strage bellorumetiam pestilentia gravis exorta est mulierum; 1.26 de mollibus eidem Matri Magnae contra omnem virorum mulierumque verecundiam consecratis; 16.28 si femina ita sit provectioris aetatis, ut ei solita mulierum adhuc fluant. (page 248)
Jerome's Vita Malchi apparently uses mulier or muliercula most of the time to refer to a certain virtuous female character in the story, femina once in a context that emphasizes her virtue; he also uses feminae next to viri in a list of people (Haskins & Kritzinger 2018:2):
The two contexts where Jerome uses femina in this story are as follows:
4.1 “Dē Beroeā Edessam pergentibus, vīcīna est pūblicō itinerī sōlitūdō, per quam Saracēnī, incertīs semper sēdibus, hūc atque illūc vagantur. Quae suspīciō frequentiam in illīs locīs viātōrum congregat, ut imminēns perīculum auxiliō mūtuō dēclīnētur. Erant in comitātū meō virī, fēminae, senēs, iuvenēs, parvulī, numerō circiter septuāgintā.
... There were in my company men, women, old, young, little ones, about seventy in number.
6.8 Fateor, obstipuī: et admīrātus virtūtem fēminae, coniuge plūs amāvī.
I confess, I was astonished: and admiring the woman's virtue, I loved her more than a wife.
In his Epistles Jerome prefers the emphatic use of femina to that of mulier in the proportion of about 2:1; but in the Vulgate, including that of the O.T., he has a marked preference for mulier. (page 246)
Apparently, in the Scala coeli of Johannes Gobi the younger, a book of exempla (a Christian genre of short morally illustrative stories) written around 1327–1330 in the South of France, the stories demonstrating women's faults are presented under the header "femina" (the stories are arranged by topic) while stories demonstrating their virtues are presented under the header "mulier" (Polo de Beaulieu 1999:6). Gobi includes a note "Notandum quod hic ponuntur omnes male conditiones mulierum, sed postea ubi tangitur de ista dictione mulier ponuntur omnes bone conditiones earum." The word femina is employed rarely by this author in general: only 5 times (once neutrally, four times in a negative context) as opposed to 229 uses of mulier (Polo de Beaulieu 1999:8). Given the misogyny of the text, there are also many instances where mulier is used in a negative context. Thus, I would say that Gobi's usage does not exactly show a complete reversal of the Republican usage (mulier seems to be the more common and neutral word in both), but it does suggest that for Gobi the term fēmina no longer had any special respectful connotation, unless we are to suppose it was being used ironically.
Adams, J. N. (1972). Latin Words for “Woman” and “Wife.” Glotta, 50(3/4), 234–255. http://www.jstor.org/stable/40266240
Santoro L'Hoir, Francesca (1992). The Rhetoric of Gender Terms: 'Man', 'Woman', and the Portrayal of Character in Latin Prose, second chapter "The obscene mulier and the not-heard femina: Cicero’s feminine terminology and comic prototypes" (pages 29–46). DOI: https://doi.org/10.1163/9789004329164_004
Polo de Beaulieu, Marie-Anne (1999) "Mulier et femina : les dénominations de la femme dans un recueil d’exempla, l’Echelle du Ciel de Jean Gobi Le Jeune" in Éducation, prédication et cultures au Moyen Âge: Essai sur Jean Gobi le Jeune [online]. Lyon: Presses universitaires de Lyon. Available on the Internet: http://books.openedition.org/pul/20010. ISBN: 9782729710590. DOI: https://doi.org/10.4000/books.pul.20010.
Haskins, Susan L., & Kritzinger, Jacobus P.K.. (2018). Naming the nameless woman of Jerome's Vita Malchi. HTS Theological Studies, 74(3), 1-7. https://dx.doi.org/10.4102/hts.v74i3.5006
*In Italian, the general word for "woman" has become donna. Here are some comments by Italian speakers on the rude connotation in modern Italian of using "femmina" in place of "donna":
"You can call someone a ‘femmina,’ but it’s not the nicest way to address a woman- it’s like saying ‘Hey, female!’" -Flavia Brunetti Proietti "WORD OF THE DAY: THIS ONE’S FOR THE LADIES", posted March 8, 2012 on the blog "Which Way to Rome?"
"It is quite offensive to call a woman "femmina". It is demeaning. Source: I am an Italian woman." -zuppaiaia, Oct 24, 2018, comment on "Femina versus Mulier?", Reddit post on r/latin