What is a good approach to modeling objects with too many details?
These objects are pretty detailed and might require some time to create, but you definitely don't need any paid add-ons. 

So here's how I would recreate the lower model:


Start with a cylinder.
Taper the rear end.
Extensively use boolean to cut out undesired portions. The basic shape of this model should be almost completely re-creatable with Boolean modifiers. Don't worry about things like smoothness just yet, you're still roughing out the piece. 
Make a safety-copy of your mesh and Apply all the previously created boolean modifiers. In edit-mode select the sharp edges that should be smoother and hit Bevel Edges (with the mouse wheel the "roundness" of these new bevel can be increased). 
Add and apply a Multiresolution modifier (set to simple not Catmull-Clarck) and add final details to the mesh.
(If the polygon count is too high) Create another copy of the mesh, reduce it's polygon count with the Remesh modifier and bake the details of the high-poly mesh to the low-poly mesh using normal-maps.


If this is hard to understand by just reading through, I'd recommend this extensive playlist.