I posted a response that apparently didn't take... I'm going to abbreviate it, please ask if I skip some points.
What you are referring to is called "intersecting geometry", nor overlapping (faces). Overlapping faces occurs when two faces take up the same space in 2d space (two planes created directly on top of each other). The problem with overlapping faces, which applies to your situation is that the render solution you choose may have a problem determining which piece of geometry is on top. No two render options will react the same....
Intersecting geometry is a "no, no" too. particularly when it's as easy to solve as a roof, which is a straight line... Sure, plenty of tutorials, etc show it, but it's not the correct way of modeling. It happens all to often when you rig a character and move it, etc, and it's always an error. If you were dealing with some crazy curved surface you may get away with faking it, but in this case just do snap to face and move the verts.
In addition, nature, and your roof, will never look correct with a straight edge. Roofs have a tile that covers the sections in question it's curved, in the case of a fillet between the two surfaces to prevent leaks. That effect is easier to achieve if you model it without the intersecting geometry and maybe put an extra edge loop on one, or both surfaces that can be removed later.
Save the intersections until you deal with something complicated! It will happen soon enough. Practicing good technique on simple items like a house will make you the expert when you come up to something complicated later on. Trust me, it seems silly to do it at times if your render looks ok, but it makes the difference between you starting into the industry as a novice vs experienced.
Best of luck! hope it helps!