I would say that is probably true but isn't exactly fair to the individual developers on those teams.
Product teams tend to be stable, were hired for their domain expertise, and have been working on the same product for a long time. So naturally they are a well-oiled machine for producing one specific product.
Consultants are a mix of whoever is available at the time. They may or may not have any previous domain experience. Each programmer might be working on multiple projects of totally different companies at the same time. Developers might get rotated in/out of projects mid-way.
So it's not that consultants are crappy developers and product teams are excellent developers, it's more the situation that they're thrown in.
Product teams tend to be stable, were hired for their domain expertise, and have been working on the same product for a long time. So naturally they are a well-oiled machine for producing one specific product.
Consultants are a mix of whoever is available at the time. They may or may not have any previous domain experience. Each programmer might be working on multiple projects of totally different companies at the same time. Developers might get rotated in/out of projects mid-way.
So it's not that consultants are crappy developers and product teams are excellent developers, it's more the situation that they're thrown in.