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.