In the country and the small towns of America, people are less likely in general to be affluent than many city dwellers. Some of the kids can afford to go to college, but a lot more can't. And when these kids turn 18, there is a masss exodus for "someplace else". And for many, it's the armed forces.
In the city, you have extremes of income. The "gentry" are well-educated, well-paid, and their kids have college funds, and their kids are not nearly as likely to have been raised in a patriotic setting. So they are less likely to enlist. Likewise, the urban underclass doers not produce large numbers of young people motivated by patriotism, because people like Jessie Jackson have been telling them for so long how bad America is. (Some of these people don't listen to Jessie and join up anyway, of course. Some very good, patriotic people come from this segment of society.)
So what do you have in today's armed forces?
Some people have been accused of using the armed forces as a Federally-subsidized jobs program. Some soldiers have sought to avoid going to Iraq on the pretense that they never realized that's what soldiers did, they were just there for the job.
But the big difference is not economic, it's bigger than that - it's patriotism that motivates most of them. And in general, whites from small towns and the country are more patriotic than the pampered sons of the leftwing elites.
Yes, a Federally subsidized job program that saves the entire worlds a*&. With benefits.