This has probably been discussed to death in the past, but the only thing I don't agree with is "...always dimension from the same point to avoid tolerance buildup.". Best practice in my book is to dimension to and between the things that you want to control. For example if I have a precisely sized mating slot somewhere on a long surface, but I don't care where that slot is, then if I dimension both sides of it to a seperate datum line on the far end of that surface, then both sides need a very tight tolerance over a long distance to that datum line.
If I just dimension what matters, then I will have a rough dimension to one side of the slot, and a very fine dimension across the slot. One less accurate dimension to make, and it's a much easier one because it's that accuracy over a shorter distance, and it can have twice the tolerance size because the error to the datum in one side of the slot no longer makes a difference.
The only issue with this philosophy in tolerancing, that I have run into before, is sometimes, the tolerance scheme that leads to the theoretically easiest part to machine from a machine capability point of view, ends up being very unclear to the machinist. And if the tolerances are all quite easy to achieve anyway, it doesn't add much value, especially for short runs where programming is a large part of part cost.