Some times it's easier to add a quick sphere and move it so it intersects a part of an existing model rather than trying to connect the existing model to the sphere.
When are these kinds of shortcuts acceptable (or not) for good topology?
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:
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.
Some reasons, off the top of my head: