There's no one simple explanation.
Benefits, low education, poor work ethics & higher expectations all play a role in why migrants are getting "all the jobs".
It's certainly true that for many people working simply doesn't make sense. Especially once you have children. If you have poor qualifications and all you can realistically get is minimum wage jobs then chances are you won't be much better off. So say you are £40 a week better off. Would you really work 40 hours a week for £40? Many people forget benefits are not simply income support. It's tax credits, council tax relief, housing benefit, free prescriptions/school dinners etc
For years we've allowed our children to leave school with too few qualifications in a world where our biggest competitors are doing the opposite. What can those kids look forward to? Not much. Basic jobs probably. Stacking shelves, retail staff. Now once upon a time those jobs would have been seen as a starter position and with hard work and time you'd get promoted.
But nowadays in the instant celebrity culture, time is for losers. Kids want to earn good money NOW. If that means marrying a footballer then great. Working 5 days a week for three years to get promoted from shelf stacker to team leader simply isn't on any of their agendas. Our society has taught them they deserve better. They want the company cars & expense accounts. But they left school with a GCSE in music.
I also lay a lot of blame on tax credits for the proliferation of part time jobs. Once upon a time employers would hire full time workers. But with tax credits this has meant many people could suddenly afford to work part time whilst getting a near full time income. Great for the individual. Bad for society. Why? Because employers can now hire two part time people, pay them less knowing tax credits will pick up the slack. Part time workers get less benefits which equals lower cost. And with so many people subsidised by part time workers, who's paying the taxes for tax credits!??!! The whole damn thing was unfunded and fuelled from borrowing in the first place!
The reason why migrants get the jobs is simply because by & large they arrive in the country and are not entitled to any benefits until they work. They've also grown up in a culture where working is the norm. There's no comprehensive state benefits system. You don't work, you starve. So they're used to taking work where they can. Even if it's work they don't really want to be doing in 10 years time. They'll do it now whilst looking for something else! They've also got a better work ethic and will work harder/longer for less money. As an employer, who would you choose?