The 3 weeks at 70 degrees, that that we recommend is the minimum time it takes for average gravity beers to carbonate and condition. Higher grav beers take longer.
Stouts and porters have taken me between 6 and 8 weeks to carb up..I have a 1.090 Belgian strong that took three months to carb up.
Temp and gravity are the two factors that contribute to the time it takes to carb beer. But if a beer's not ready yet, or seems low carbed, and you added the right amount of sugar to it, then it's not stalled, it's just not time yet.
They are equally important, but where you can decide how long you want to bulk age one, when you add the priming sugar you sort of lose control over how long that will take. So it's a good idea to factor that in.
Depending on the grav of the beer I would factor in 6-8 weeks in the bottle to gaurentee that it is carbed up and not green so if I wanted something ready for Christmas Day, I would aim for it being in the bottle by early November. And in a warm place. They should then be perfectly carbed by then. ANd you can check them a week or two before, and if they are ready then you can enjoy them then. But if they are not ready then you won't have to worry too much, you still would have a cushion for them.
If you factor that time in then you can bulk age it in secondary from about 10-14 days after yeast pitch til then. Or leave it in primary for a month then bottle it and know that it will be ready in plenty of time.
And all in all you should then have a nice beer.
More info can be found here.
Of Patience and Bottle Conditioning.