This is pure conjecture on my part. I have no inside information and things are probably more complex than I'm portraying here, but here goes anyway:
It seems that as items are added to the OF database, individual XML files for each item are created in your OmniFocus.ofocus bundle. My guess is that each file requires a certain amount of disk space overhead, so collectively they can take up a fair amount of room. When the OF database is rebuilt, all the individual files are coalesced into a single, larger XML file (presumably, the SQLite index is also updated). So the overhead cost is reduced to that of only one file.
It seems that as items are added to the OF database, individual XML files for each item are created in your OmniFocus.ofocus bundle. My guess is that each file requires a certain amount of disk space overhead, so collectively they can take up a fair amount of room. When the OF database is rebuilt, all the individual files are coalesced into a single, larger XML file (presumably, the SQLite index is also updated). So the overhead cost is reduced to that of only one file.