Because of retirements, schools, leave, expired enlistments and so on, military units today can have over twenty percent of their troops away, or about to leave, at any one time. To keep units headed for Iraq up to strength, the U.S. Army has again instituted the "Stop Loss". This means that troops cannot retire, and if they are at the end of their enlistment, they have to stay in the service until their tour of duty in Iraq is completed. Stop Loss also halts scheduled transfers from a unit so affected. The Stop Loss has been applied separately to active duty and reserve units, causing some morale problem in Iraq when reserve units were under Stop Loss and active duty units were not.
During World War II, troops were in "for the duration" (of the war.) Historically, that was the exception, not the rule in the American military. During the American Revolution and American Civil War, troops served fixed enlistments and left when their six months, two years or whatever were up. The government was wary of issuing a "for the duration" order because of the potential political backlash. During the Korean and Vietnam war there was a limit of 13 months service in the combat zone and enlistments were rarely extended involuntarily. Iraq is another one of those wars where the government feels it can get away for a little "for the duration lite", which is what Stop Loss is. However, the problem of keeping the voters enthusiastic about any war effort remains. Historically, Americans begin to rapidly lose enthusiasm for a war after three years. Even during World War II, this was noted. Although the government has been up-front about calling the War on Terror a "long war," the "Three Year Rule" probably still applies. The all-volunteer armed forces actually makes it easier to deal with this, because it's easier to up the incentives to attract more volunteers than it is to deal with the families of reluctant draftees. But after three years, it's going to be difficult to maintain general enthusiasm for any war effort.