Tesselation vs geometry shaders

Geometry shaders can emit new vertexes, so what is the point of tessellation shaders? When do you use one or the other?

Geometry shaders were not designed for large-scale amplification of vertex data. The most obvious benefit of having specialized pipeline stages for tessellation (and the tessellator, a fixed function unit in between) is performance. Read this post for details on how the GS design affects performance. GS is still useful for many other effects (per-face normal computation, easy wireframe rendering, etc).

Tessellation is a lot less flexible, but also a lot faster at splitting up a triangle into smaller ones. The geometry shader is also run after the tessellation for each generated triangle.