Just for an example let me give you a scenario. This happened to me in the past when I was about 19.
I started an apprenticeship with an IT company I worked with them for 6 month and they ended the contract at the end of my probation. They said they liked my work but I was suited to the role, they thought I be better suited to a service desk role.
So as a result I lost my employment, I also lost the 6 months of work I put into the apprenticeship and why? Because their recruitment process was wrong, they recruited me for a role and they thought I would fit it and they were wrong. So I lost my job, my income and the progress I have made on the course because they recruited badly. Why should I be paying for their mistake? They should pay for their mistake.
They now get to just carry on like nothing happened. I now have my life tipped on its head and if I don't find another placement with about 60 days I lose all my progress and if I wanted to continue I would have to start to scratch again. How is that fair? I work for 6 months in the role they ask my to, do all the work they ask me to then just get discarded. They should not be able to dismiss me as I have done nothing wrong. They have made the mistake therefore they should be the ones trying to make it work.
And lets compare the impacts on my life vs the company.
Company
Lose one employee
Lose a small amount of productivity (I was 1 of over 100 employees)
Have to recruit again
Me
No income
Uncertain future
Possibility of losing my progress on the apprenticeship
Have to start a work search again which is very stressful
The impacts are not equal. It is easy for them to essentially discard me some piece of meat that doesn't matter. They should be forced to stick to the contract and find another role for me within the company or pay me until the term of the contract is over. The only way in which a company should be allowed to fire someone is through gross misconduct.