It's very clever because not only does it generate huge publicity for everyone involved, it shares the cost out. So while the store is subsidising the donation, they're probably not completely losing out and, importantly, they're getting people into the store/onto their website so even if there is a financial impact, it's chalked up to marketing.
And I think it makes complete sense to donate clothes, particularly for this charity. Their entire thing is about helping women to feel confident by dressing, and acting the part when they go for job interviews. Sending them off to M&S with a voucher is not exactly going to do the trick!
And of course they might choose to sell the items after. But many of them will value that outfit and how it helped them, will save it for special occasions or even re-donate it back to Smartworks.