Is there any difference in meaning between warrior and soldier? Are they totally synonymous?
Thursagen provides a good overview of the differences in connotations. The differences are however best considered literally (or etymologically rather), I feel.
c.1300, from O.N.Fr. werreieor (O.Fr. guerreor) "a warrior, one who wages war," ...
i.e. Being a 'warrior' implies very generally that one fights in wars/battles (as the word itself suggests).
c.1300, from O.Fr. soudier "one who serves in the army for pay," ...
i.e. Being a 'soldier' implies being a payed member of an organised fighting force.
Overall then, you might consider a soldier to be a type of warrior, but not vice versa. The term 'warrior' is therefore often reserved for fighters in barbarian or unstructured armies, though it would not be incorrect to apply it to a member of the U.S. Army today, in fact.
A warrior is:
a person skilled in combat or warfare, especially within the context of a tribal or clan-based society that recognizes a separate warrior class.
So you often hear of warrior classes in tribal culture. Many warriors also have behavioral codes. One popular example is the bushido of the Japanese samurai. Wikipedia notes
In many societies in which a specialized warrior class exists, specific codes of conduct (ethical codes) are established to ensure that the warrior class is not corrupted or otherwise dangerous to the rest of society. Common features include valuing honour in the forms of faith, loyalty and courage.
Examples include the following:
- Ethical codes of the early Germanic Peoples, as well as Prussian virtues medieval knights' code of chivalry;
- Kshatriya code of Dharma in India;
- Khalsa code of saint Soldiers in Sikhism;
- Sesok-ogye code of Hwarang in Korea;
- Japan's samurai class, which uses a warrior code known as Bushido (The Way Of The Warrior); and
- Xiá in China.
Warriors' honour is dependent on following the code. Common virtues in warrior codes are mercy, courage and loyalty.
A warrior is more than just a fighter; it is someone who likely follows a code of conduct that determine their very values and ethics.
A soldier, on the other hand, is:
a member of the land component of national armed forces; whereas a soldier hired for service in a foreign army would be termed a mercenary. The majority of cognates of the word "soldier" that exist in other languages have a meaning that embraces both commissioned and non-commissioned officers in national land forces.
To be a soldier is to fight for a living -- it is an occupation. To be a warrior is to have that ingrained code of conduct that was vastly more present in the olden days. Today, one is not usually a warrior in the literal sense. It is far more common to refer to someone who fights as a soldier. The terms are definitely not synonymous because of the nuanced history behind each.
They both mean men of war, but there is a slight difference in meanings.
A soldier seems to imply someone who is in the army, and has been trained by some militia.
A warrior seems to imply a more barbaric figure, or at least, someone who fights, but isn't necessarily part of a state army, but are fighting for personal reasons.
The next difference implied is a soldier has discipline, and works together with other soldiers as a team to form an army. They march, move, and stop at the same time. Warriors don't do this, and although many warriors might fight in the same army, the term "warrior" implies that there is no discipline, and that they just move of their own accord.
Roots of the word aside, the term "warrior" is used by soldiers to refer to one of their fellows who, even by their standard, has superlative skill and attitude and go-get-it-iveness in combat. My battalion was called the Warrior battalion--in peacetime--and I never felt like we deserved it, had never earned it.