Sweeping generalisation alert! Making such statements is usually a good sign of lack of knowledge: there is no way you can confidently claim outsourcing always costs money.
It is a huge generalisation, but I would agree that it contains more than a grain of truth.
I worked for IBM for more than 20 years, but I left when the company stopped investing in its employees and instead bought point solutions, outsourced, and so on. It continued for a while on its reputation for good staff, but its customers discovered they were getting the same outsourced staff they could have paid for themselves, and paid a lot less. IBM is still a big company and makes a lot of money, but it's conspicuously less successful than it was in the past. I left when I could because I felt I was giving IBM unreasonably more than IBM was giving me in return, which had not been the case between 1984 and 2007.
I think that when companies stop investing in staff, for example by outsourcing, that it's often - but not necessarily always of course - the start of the slope into decline. Staff who don't feel part of the overall company goal communicate that to customers, who realise that what they had been paying for is no longer there. So I think John Lewis is going down that path now - the new leader has sacrificed the one unique selling point they had (good service) on the altar of saving costs. Significantly reduced revenue will result, which will lead to further cost cutting initiatives. And so on.
EDIT: The other point about John Lewis, I think, is whether it's trying to change whilst retaining its existing customer base, or if it's trying to reinvent itself so that it attracts different (and hopefully more) customers. I think it's failed with its customer base, at least if the frequency of complaints reported in The Guardian and The Times that I and other middle-class customers read is anything to go on, but it may have success with attracting other customers. Personally I don't think it will, but time will tell.