vertex buffer - a long list of data items called vertex..es... ...a vertex is a peice of geometry data that contains varius forms of data, almost always includeing positon, usualy uv coordanants and surface normal, and sometimes color or some other data for a specific purpose. a vertex buffer is a solid block of these and is used to draw the geometry of an object.
Index buffer - an index buffer is a solid block of intigers (whole numbers) they specify wich vertex within a vertex buffer should be used when drawing a object, usualy they are arainged in the form of a list of triangles where groups of three indexes (to three vertexes) represent one triangle. index buffers are used to save memory _bandwidth_ so you don't have to send of 30,000 verts to draw a 10,000 poly object, you just have to send off 30,000 indexes (very much smaller than a vertex, therefore less data to send) and maybe 1000 vertexes (probly more than that in reality, but I was just trying to give the general idea).
in order to genorate an index buffer-vertex buffer pair, you start with an uncompressed vertex buffer that has three verts for every triangle, then you go through and try to find every unique vertex in the list, then you make a vertex buffer that has only one of each of them. then you go back to the origonal vertex buffer and you go one by one, look up the vertex in the compressed vertex buffer that corisponds to the vertex in the uncompressed vertex buffer you then add this position in the compressed vertex buffer to the index buffer, so that if you look at the uncompressed vertex buffer and the vert in the compressed vertex buffer that is in the position specifyed by the index buffer at the same place (in the index buffer as the uncompressed vertex buffer) they will be the same vertex.
as you can imagine this takes an exponentaly long amount of time and the more complex the model the longer it takes to build a vertex-index pair, to the extent that it may take sevral minutes to simply load an HTL model.
taylor's IBX code saves this data the first time it's done so you only have to go through the wait one time, the first time you load up the model. the data is then saved to file and that is then simply loaded every time the model is loaded from then on.
(unless you make a change to the model fie)
so long story short think of it as cached geometry compression