One explanation I was exposed to was that after the battle of Adrianople there simply weren't enough professional roman soldiers to field an adequate army. But wouldn't that problem be more temporary than it turned out?
I would like to first point out that many of the foedorati were still professional soldiers and the decline in Italian soldiery basically led to the swelling of barbarians in the ranks. My understanding of the transition is basically that professional army life just became less and less attractive to Italians as the empire stagnated in terms of size.
When the empire was growing under the republic the two main attractions to joining the legion were the regular pay and the pension in the form of land grant after 18-25 years of service depending on the period. As the empire reached its maximum extent though the amount of available land was pretty much used up (that is and near enough to a population center to actually be worth anything, there was still tons of unplowed land). As italian recruitent dried up somewhat recruits had to be found. Many of these were the sons of former legionaries who had been born of provincial mothers and were only half Italian. As the men grew older they joined the legion for the promise of citizenship after completing their terms of service.
The Foederati were the Empire's answer to longer being able to effectively recruit from within Italy and began opening recruitment to non citizens in order to fill the ranks. This also provided the empire an opportunity to "civilize" barbarians while at the same time provided them with troops who had an interest in defending the lands they were stationed at because their families lived there.
Sources: Colin Wells The Roman Empire chapters VI and XI Some of this is also coming from gibbon's Decline and Fall of the Roman Empire