I agree with you outsourcing core functions is a bad idea, especially when they are touchpoints. However, it is a very attractive proposition for retail management even so. I work for another retail company which has outsourced some customer service functions and kept some in house.
Call centres have a lot of turnover as many people understandably don't want to stay in the job. Demand on retail call centres is also very seasonal with large peaks around Christmas, Black Friday etc and troughs when sales are lower. Why spend loads of effort on continual recruitment when you can get Capita to do it for you?
Managing call centre employees needs lots of time consuming micro management such as relentless focus on AHT (average handling time), spotting potential fraud, monitoring customer satisfaction and really granular resource planning. This all distracts management attention from other more strategic issues, but is also pretty specialised.
Call centres need a lot of space to seat potentially hundreds of people, and this space required fluctuates a lot in line with the seasonal demand. Again, why go through all this hassle of acquiring office space that is half empty most of the year when you can let capita do it for you?
Of course the big downside as you say is the service will be rarely be as good as you could provide in house with more dedicated employees. We are planning to gradually bring all our support functions in house but having the flexibility and of an outsourced approach has helped us mange the sometimes unpredictable growth of a specific part of our business for now.