This answer can be pretty complicated. In general, "topping" trees is pretty bad for a tree. Topping is basically cutting the top and end branches to a stub, without regard to cutting to side branches. A "crown reduction" is a more careful process of reducing the height and bringing in sides of a tree.
Some easy guidelines with this would be to reduce a branch back to a side branch or branches that is at least 1/3 the size of what is being removed. The larger the side branches, the better.
Another rule of thumb is don't remove more than 1/3 of the overall canopy in any one trimming.
Also, avoid making large cuts where possible. Large cuts take longer for the tree to seal up. Meanwhile water and air are decaying and softening the wood around the cut. Try to keep cuts below 2-3" in diameter.
There are other considerations that go into this like tree species, tree health, tree's structural integrity.
The difference between topping and crown reduction can be small, but the impact on tree can be big. If done wrong, it can severely stress a tree, open it up for decay, and alter its growth patterns for the rest of its life.
If done right, it can improve a tree's shape, reduce weight and force on branches, and reinvigorate the growth of the tree.