Cesium uses a quadtree to render the globe. The root node covers the entire globe at a very low resolution, and each leaf node covers a small part of the globe at a very high resolution. As the viewer moves, we request different nodes based on the view parameters, and render with the best nodes we have in the meantime. Terrain (geometry) and imagery (texture) are decoupled into separate trees, commonly from different servers. We determine what imagery overlaps a terrain tile, and do the blending in a fragment shader.
This is, of course, all oversimplified. Kevin can answer more specific questions. You can also checkout our COM.Geo course, book, and upcoming SIGGRAPH course (slides will be posted after the conference in July).