As with Mr Insley, my comments come from a totally biased but different point of view, as our business provide different types of compliance services to the banking industry.
Trainning is an on going and important part of compliance, but no guarantee compliance is being adhered too. Of equal importance is the monitoring of CRA and HMDA activity.
You need to know what the bank looks like before the regulators do, and far enough in advance, so that if any trends need to be changed there is time to do it before they arrive for an exam.
Unless a bank chooses to makes an expensive investment in products and personnel, outsourcing is a more efficient and less costly way of monitoring, and the time it takes to do this in house can then be put to more productive use.
Take a look at what it would cost to equip and train, and keep trained, a staff that can provide the services an outsource company can.