The answers to this good question are spot on from my point of view. One thing I would add is this.
I like to have internal auditors at different levels, and by this I mean I have "shop floor" level auditors that need to know the basics of auditing, a simple training session that gives them the basic tools to go out and audit. However, I ask these auditors to audit simply to our system. The work instruction, procedure or other defining document used to perform the tasks being audited are their checklist. The level of training they need to complete a basic ?are we doing what we say we are doing? kind of audit is not that in-depth. More time goes into the forms and procedures for reporting than ?how to audit?.
I do not ask them to look at the quality system to see if it meets the TS or ISO standard. I have more in-depth, higher trained auditors to make sure our system is meeting the standards. They are lead auditor trained for TS, so this provides more of a system audit which gets deeper into the Shalls.
The shop floor auditors just make sure we are doing what we should be doing, how we say to do it. This does two important things; 1) it measures the performance (work being done) against the expectations (the system) and 2) it cross trains the auditors into other areas of the system they might not normally be as familiar with. Then we rotate the auditors to spread the joy of auditing to more people.
Seems to work pretty well.