Just to be clear, I've no difficulty with the single level of contracting, e.g. Bank X outsourcing a service to IBM, who engage Contractor A as one of several contractors providing the service.
What I've seen is where Bank X outsource to IBM, who subcontract a chunk to HP, who engage CPL to provide resources, who then engage Contractor A - so HP & CPL are all getting a slice of the rate ultimately paid by IBM for Contractor A, and IBM get another slice before billing Bank A.