To be honest, I don't think the perfest training course yet exists. We all have different needs, different or no practical experiences and different abilities to absorb and learn the information given.
Having said that, I personally break the available training courses into two groups. Generic and manufacturers. Over the years, I've attended many courses from both groups, and learnt something new each time.
Certainly for the initial training, I feel that generic is more valuable. EG a candidate would find it more useful to be taught something like: GENERIC: On very greasy restaurant carpets, apply a pre-spray designed to attack this type of soil. Rather than MANUFACTURER: Pre-spray the carpet with X178 Super-Suds. It is only natural and right that a manufacturer should relate to their own products and I don't have a problem with that. But I feel sure that there will be newbies who cannot relate Super-Suds to other brands suitable to the task. But generic training creates, I feel, a better understanding.
With Generic Training, there are two main sources. IICRC and NCCA. Again it is my opinion, that they serve two slightly different needs. My advice to a newbie would be to ask a local colleague if you could be a "bucket boy" for a day or two. This would allow an insight into the equipment and basic procedures. Then attend the NCCA two day carpet and upholstery course. The initial hands on experience makes the formal training easier to relate to. When a little more experienced, an IICRC training course, being, I feel, a little more theoretically intense, would be easier to follow and absorb. It's encouraging to see that many of our industry's manufacturers are now offering IICRC training courses.
If you have already attended a manufacturers starter course, and have gained valuable hands-on cleaning experience, although the NCCA Training would still be of benefit, the IICRC would, I feel, be more so. However, if you were seeking suitable training merely to join the NCCA as a Full Member, the lower cost option would probably be to attend the NCCA course. This is because the NCCA is a two day carpet and upholstery course, and the equivalent IICRC is over four days. Obviously, this can lead to greater costs for the candidate.
As for myself, although I have been in our industry for more than 26 years, I still attend training courses. Of late, they have been specific product/system related courses from manufacturers. In an ever changing industry with new products, equipment and developing techniques, it is, IMO, essential to keep abreast of the times. If you worked for a large corporation in any industry, trade or profession, you would have ongoing training throughout your career. Carpet and Upholstery Cleaning is no different.
As we say in the NCCA, training is an investment, not an expense

Safe and happy cleaning

Ken