Pretty heavy title for a site like this which is heavily powered by fantasy but here goes!
Common culture gives various reasons why women don't/shouldn't fight, " women are nurturers/nurses not hunter warriors" or " women are weaker than men" and " they can't take pain like men".
Now none of those is logically true. Lionesses bring up their cubs single handed but still fight and kill prey. If strength or size was all important no smaller men would fight which clearly isn't true and the argument doesn't apply to woman vs woman. As for pain men don't do childbirth so they cant pass judgement on the pain levels that some women have to endure.
However I recently read a rather diifferent explanation of why societies have not let women fight. Its an evolutionary defence mechanism, only women can bear children so, in prehistoric times , they were too valuable to risk losing in combat ( or fighting wild animals for food).
The risk of losing too many women in combat even if it helped you beat another group or tribe was too high, few women = few babies = your tribe fades away. In prehistoric times , the argument went , tribes were small so loss of births could be catosphophic.
Now I find that very rational explanation with interesting implications now. Births were critical during most of evolution because, sadly, infant mortality was huge. If the women were not constantly pregnent then few new adults would be produced.
Today thats not true due to better medicine etc. So, if the expalantion of historical attitudes to women as fighters is true and humans are still evolving then maybe women fighting may cease to be culturally repressed. As women have become more economically equal they do seem to be fighing more , even if it is sadly when they are drunk in the UK.
Women have also been allowed into nearly all military combat roles . Whether that is ideal you can argue but its happened in western countries
This evolutionary explanation appeals to me , unfortunateley not being ever lasting I cant wait the several thouand years to see if it is true!