When is acceptable to have disconnected geometry?
This technique has lots of advantages, the biggest of which is of course speed of modeling. There are also some drawbacks you might want to consider:


Stacking is troublesome if you need bevelling. The intersections will stay sharp, no matter what.





Freestyle won't produce the result you're after. It uses face boundaries to find edges and there are none.





In the past, Blender sometimes had trouble to precisely calculate the intersections, resulting in a jagged appearance. I haven't noticed that lately so it might be fine.
If you deform the surface, the object might move relative to one another, resulting in a shift of the edge. Or in Z-fighting.
Transparent materials will show that you tried to cheat. Nothing against cheating in 3D as long as you can get away with it. The left image is how it should look, the right is how it looks if it's stacked. This effect gets worse when you rotate around the object.





If you don't use it for joints or movable parts but just for speeding up the modeling, and you don't trim the parts inside the model, it always results in unnecessary geometry. Depends on the case what's more important. But even with trimming, it's still faster than manually connecting the detail or cleaning up boolean artefacts.
Adding small details has the advantage of not distorting the big geometry which can be quite time consuming to repair or plan in advance. 
Tools like the Loop Cut will ignore the detail  when you work on the main mesh.
It affects your UV mapping workflow.
One of the biggest factors still is screen size. Extreme closeups will reveal possible problems. If it's just a small detail, you can employ a lot of simplification techniques, saving time.