Connect two cubes without creating overlapping edges/faces I were trying to make an extremely simple table model like this:



I made this without problem:

 

But then I got stuck having a hard time figuring out how to continue.

My first idea was to duplicate the top face, move it down and create side faces:



Then the new vertices were not on the side and the edges were overlapping, which wasn't what I wanted:



Perhaps I could've cut the side first?



But I don't know how to cut along the top edge, nor how to make the exact same cut on the other side.

What's the better way to achieve this?
To follow your approach, you could:


K with C to constrain to the horizontal and Z to cut through.. create loops on both sides, 
In Face Mode, Select the inside faces, and CtrlE  Edge menu > Bridge Edge Loops




But, if your desk is mainly symmetrical, I would make only one side, and work on that, under a Mirror modifier, with 'Merge' checked.