In the primary for 2-3 weeks, huh? Wouldn't the yeast start to produce off flavors at that point?
No. The major off flavors are generally produced by the yeast, and it usually has to do with the metabolism of the yeast being stressed by the speed at which they try to consume sugars at higher temperatures.
Most standard ales can be left in primary for more like 2-3 months without any adverse affects to the beer. 2-3 weeks is really the standard for a primary fermentation for typical ales for experienced brewers.
Visible fermentation typically takes about 2-3 days. After that, the last 10-15% of fermentation that doesn't "bubble the airlock" takes another day or two.
Following active fermentation, the yeast will start to eat their own byproducts and other dead yeast cells, cleaning up the beer and resulting in a better overall product. That process takes about another 2-3 days.
After that process, the beer effectively starts to bulk age, starting chemical processes that also clean up the beer and lend to an overall better final product.
If you are not leaving the beer in primary for a good 2-3 weeks, you are really rushing it and likely not realizing that the beer you are drinking in the final product are subpar compared to a properly aged beer.
2-3 weeks primary.
2-3 weeks bottle/keg carb conditioning
2-3 days at serving temps before serving if you bottle
Those are about the minimums for average ABV ales to end up with a properly conditioned beer.
In general, the slower you keep the fermentation processes, without stopping it altogether, the cleaner and better the beer turns out. Patience is at a premium in the process!