It's a balancing act, there once was a time when full time employees were more common and staff morale was higher, the change in normality started towards the end of the Clarke era and continued to get worse under Lewis's leadership, the main reason why the business prefers to have say someone on a 22.5 hour a week contract and another on 15 rather than a full timer on a 36.5 hour a week contract is redundancy (in both the literal and business definition of the word).
For example, if a store comprised mainly of full timers with a few part timers here and there, the stores wage budget would be used on fewer total member of staff, fewer staff means if a full timer goes off sick or goes on holiday, it's harder to cover them. Also a full timer would have greater employment rights and incurred costs than a part timer, especially in a redundancy situation.
That was the thinking behind this shift away from having full time employees, but as you said, they were too short sighted to consider that there are other opportunities outside of Tesco as well as lower hours meaning less loyalty and committment. It's a balancing act they got wrong, the results are higher staff turnover (as people will leave for greener pastures, that's just basic economics) and as a result less experienced staff, leading to more errors and work being done at a slower pace meaning more labour hours required.
Essentially it's a balancing act, part timers are advantageous to business operations, but if you try give too few hours you lose the committment, loyalty, experience and eventually the staff.