Question: It seems counter intuitive that calculating more vertices instead of just reading more from vram would be faster. But if memory bandwidth is the issue that makes tessellation worth it, then why do things like displacement mapping exist? In the tessellation shader, if you read from a texture, you accessing vram more anyway. Are texture look ups less expensive than more original vertices? Why is tessellation fast? 

Say you had an vertex amplification of 32 with a very low polygon model. Would this be faster than say a higher polygon model with only a tessellation vertex amplification of 8 or something. Or in other words, do you linearly gain performance with the more you tessellate?

Answer: 
There is no single point that gives tessellation better performance in every possible instance. Different benefits and trade offs apply in every use case. Some things that might contribute to making tessellation faster than alternatives:

* **Memory Bandwidth:** Modern computers are largely limited by memory speeds. Even if you use textures, a single read could be as low as 4 bytes instead of the 32+ bytes typically required to store vertex data.
* **Level of Detail (LOD):** With tessellation shaders you can avoid having areas that too detailed while still insuring that the rest of the scene has sufficient detail.
* **Fewer Verticies:** Means fewer executions of the vertex shader and every stage of the pipeline before that.
* **Less CPU Overhead:** Potentially requires fewer draw calls, especially if you no longer have to do LOD on the CPU.

There are probably other factors that I have missed...
(In the context of OpenGL)
As others have already stated, the use of tessellation can be thought of as a trade between gpu compute time being increased, and a reduction in bandwidth between the application and OpenGL. 

Which makes sense when you think about it right? If you're not sending all of the vertices over, there must be some method available to obtain their positions.

Most modern applications define a model(a collection of vertices etc etc.) somehow, and then send it over to the gpu. One time, thereby negating the majority of use cases in which you would want to prefer Tessellation to increase "performance" (performance being higher framerate/ lower execution time I'm assuming) So long as you have enough available memory left on the GPU do this.

In the case of animation, you do not have to send up the modified vertices of the model replacing the information already in gpu-memory. Most modern applications use a collection of bones, and weights that can even exist on the gpu. You send up a uniform variable like time,and that is all that the application is required to do. The rest is done on the GPU.

Even a statically predefined set of LOD meshes can be uploaded to the GPU before you enter into a main display / rendering loop. The trade off is that you will not be able to control the granularity of detail even nearly as closely as you would be able to with tessellation.

So if we can modify the data on the gpu without sending more data from the application than if we were using tessellation, why or when would we EVER want to use tessellation? 

1. As others have already stated, absolute control over LOD is one good reason.
2. Dynamic content generation. It is a whole lot more efficient (faster in frames/execution time) to let the gpu ADD vertices in place than to send over a whole new mesh you generated on the CPU or even new "bits" of the mesh from the application.
3. When you have already filled up every iota of memory on the gpu and you simply can't store anything else in buffers.

A simple conclusion in summation.
How can tessellation increase performance? 

When it is impossible to define and upload vertex data from an application to a gpu BEFORE you begin rendering. That is the only time tessellation is the right decision. More often than not, this is untrue.