I have always wondered that people who outsource their work, meaning pay someone here or someone in another country. Do their clients need to know that it was outsourced even if they take a look at it work themselves and work with others who they have outsourced to make sure that work is of the quality they expected.
This all depends on your relations with the client and your own professional conduct.
Many contractors will simply take and pile up jobs and subcontract them without informing clients or taking care about quality of such product. Those people may have elevated progress of their business, but in long term, they will fail.
I personally tell my clients if I will outsource some part of the project (design, audio overlay, etc.) because that way my client can communicate with my subcontractor directly which makes my life easier and I don't have to spend time passing messages between them (Basecamp room is great for such conversations).
Then again, there were times when I had to code some nasty logic which was boring and I simply was not in mood to do it. So I outsourced it and closely monitored the output and the code so it fits my quality standards. A client was not aware of this. Not because I did not want to tell him or something, but because he did not need such information.
So I am always to tell your clients. If you're afraid that subcontractor may steal your client, then you're subcontracting the wrong person or team.
I agree with Peter, if you are outsourcing your work without telling your client, how you can be a great service to them if you don't know/can't explain what your outsourced contractor has done? How can you fix the issue?
I am sure there are a lot of clever ways to deal with that kind of situation but it seems that the best way is to be honest and do the work yourself/with your team so you offer the best product and service to your clients. (All this said and done, I don't have anything against outsourcing but informing your client is a good idea. Build and maintain trust. )