Single continuous mesh vs disconnected parts
The best reason to use separate parts is because it makes the process easier. And because it is much easier to join two objects into one than to split one object into two, in my own workflow, if I have the slightest hint of a doubt that I might want to be able to access the items separately later on, I make them separate, 

But separate does not always mean two objects. Sometimes I make two or more meshes as sub-objects of the same object, for example, I might make the rear wheels of a wagon as two sub meshes of the same object, but the axle as a separate object altogether. When I make two or more meshes sub objects of the same object, I make some effort to make sure that those sub meshes are easily separately accessible. One way is to assign them to different vertex groups, but sometimes it is enough to just make sure that there are no connections between the sub-meshes, so they can be selected with CTRL-L.