The answer is "both", or "it depends"

. You want to wait until it's hit terminal gravity, and then give it more time so the yeast has a chance to clean up after itself. Keep in mind that depending on a myriad of factors, your beer may stop at 1.014 even though the recipe claims 1.012 (or vice versa). So the short answer is wait until your gravity stabilizes (same reading for consecutive days), then give it a few more days. Mine usually stabilize within 2 weeks, then I give it another week. If you can't stand to wait 3 weeks, then you're not brewing often enough!
