Noob question. Join/separate object
I assume you are referring to the "join" (ctrl+J in Object mode) and "seperate" (P in Edit mode)

You can think an object as a grouping of mesh data with a name. Which mode you need depends on what you want to do:

What join does: Takes the selected "objects" (therefore use object mode) and merges the mesh data from the selected objects into one single "object"

What separate does: Takes the selected vertices, edges and faces (therefore use edit mode) and writes them to a new "object" (which is different from that you are currently in. 

So for example join (as in ctrl+j) doesn't make sense in edit mode since you already are in a single object. However if you want to make seperately selectable and modifiable groups of vertices, edges and faces then you could use "vertex groups"
Equally seperate (as in "P") doesn't make sense in Object mode, because for that operation you need to tell blender what vertices, edges and faces you want to seperate. 

Happy Blending! :)