Well yea... funny thing is that we were never that geometry bottlenecked

In the old days, the CPU did the transform and lighting, and the 3D accelerator was just a rasterizer.
Since the CPU wasn't that fast at processing the triangles, and they had to be sent over the PCI-bus, this was generally your bottleneck.
So 3D cards were mainly used to render with better quality (texture filtering, mult-texturing, higher resolutions etc), but the polycount was still very low, just like full software rendering.
nVidia (yes, them again, can't help it) revolutionized this by putting the full T&L on the 3D accelerator. This is why nVidia started to call it a GPU.
The CPU could now upload the source geometry to the GPU at initialization, and for each frame, it only had to update some variables such as animation matrices and lights. The GPU would do the complete transform, lighting and rasterizing on its own, with no CPU intervention.
This meant that the CPU, system memory and PCI bus were no longer the bottleneck.
It now became a bit of a balancing act between hardware and software. Would games push detail via geometry, or via more advanced shading?
Developers generally chose the advanced shading option, using bumpmapping for adding detail to relatively lowpoly objects.
This meant that shader power was more important than triangle throughput, so shader power scaled up faster in the hardware.
It seems that the time has now come for triangle throughput (and thus geometry detail) to catch up with shader power.
The easiest way to think of tessellation is to think of it as the geometry equivalent of texture compression, I suppose.