‘Subtract’ splits a block’s faces in undesirable ways adding very long thin faces which cause problems in three ways. One, the skewed faces are more difficult for the compiler to correctly snap together sometimes leaving visible seams in the geometry. Two, the skewed faces are more difficult to light correctly sometimes leaving noticeable lighting artifacts. Three, sometimes the faces created are so thin that they are completely removed. You can see the edges for these faces by pushing the f11 key.
For simple things like a square door 'subtract' should be sufficient, but don’t try complicated shapes.
Building complicated shapes like arches out of individual blocks gives control over faces, kind of like modeling using quads. Keeping the number of skewed faces down makes a huge positive impact on frame rate as well as preventing all the problems listed above.