Boolean Intersect/Difference Only Uses Edges This question is very similar to this question, (if not, a duplicate) but I wish to add a few more details of my own. (The question is also still unanswered...)

I am following Andrew Price's Anvil Modeling tutorial, and there is this part where you are supposed to use the Boolean modifier to cut a cylinder out of the Anvil. However...

The Boolean Modifier does not cut out the part where they overlap, but rather, only the parts where the edges of the cylinder overlap (I have attempted to highlight the effect of the Boolean Modifier in blue.)

Since then, I have recreated this scenario, both in 2.79 and in 2.80, but in those attempts, the Boolean modifier had worked as expected:

If I may ask then, what was wrong with my original .blend file that caused this error with the Boolean modifier?

EDIT: I have already tried recalculating/flipping the normals, it hasn't worked.
Wow, I really don't know what I'm doing, huh?

Following a comment on the same YouTube video of the tutorial, I removed doubles.
(In Blender 2.80, it is now named "Merge by Distance, and can be found in Edit Mode, Mesh > Clean Up > Merge by Distance" 

So I learned a thing. I apologize if I wasted anyone's time with this.

\o/