easy explanation- soldiers may sign up for social advancement the flag and patriotism but they fight because the man next to them is depending on them. They fight for nothing else but protecting...
Depends on which nation you are asking about. The US started to draft soldiers and then they would be forced to fight if they passed the medical test(to see if they were healthy enough).