Creating or Altering a Modifier, specifically Boolean
Well, the boolean modifier is not what you expect, maybe. 

LITTLE INTRODUCTION TO BOOLEAN

What you do is choosing the object to use the modifier on, you choose the object to use to do the modifications, and then you select "intersect", "union" or "difference". At a programming level, the three options do the following:

-Intersect checks if each point of object A is "inside" object B, if not erases it. So you'll end up with just a portion of object A. 
-Difference basically does the opposite: checks each point (to make it easy, since it's really messier than that, just imagine three nested "for" loops, one for each dimension, scanning each single point which makes the object), if it's inside the other object it deletes it. 
-Union, instead, adds to the object A every point of object B which isn't already contained in it. So that you will STILL have B, but A will become equivalent to A union B. 

LET'S GET DOWN TO BUSINESS

So, what were you trying to do, using difference between a plane and a cylinder in order to get new vertexes? Sadly it doesn't work like that, since planes are "directional, they have an orientation, and it's such as if they included the whole space under them, so, by doing a difference (or an intersect) between a plane and another mesh you will just have one side of the mesh to disappear. 

If I can give you some advice, learn to use properly the "bisect" function, it basically does, in my opinion, what we want the knife to do in 90% of cases. 

Or; if you want to use a mesh to "cut through an object", boolean is the right choice (just use "difference"), but avoid using it with 2D objects like planes.