Why can't I also separate two object while in Object Mode (while to join two objects, you must go into Object Mode and not into Edit Mode) but I have to go to Edit Mode to do that? Am I using wrong workflow, method a way to do that? Looking at it from wrong perspective?
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! :)