What's better: adding new primitives or extrude from existing?
I am not an expert, but:

Using only one mesh (extruding from an existing mesh) is absolutely needed if you need deformations, because all geometry is linked, and also can keep vert/poly count lower... it is the better choice in most cases, in my humble opinion.

Using separate mesh (adding a new primitive) could allow to keep independent mesh parts separated, for some reason (e.g.: to split them later while modeling), but also allow you to treat them as a single object in animation (without deformation).