What you plan to do with the model makes a difference too. You may want all the components as solids so you can print them individually, therefore needing the joining faces, or if you want to explode everything into one big solid when you have finished modelling, then removing the joins is helpful.
With a large variety of possible software and usage I don't think there is one best option.