They don't actually improve compilation performance and make it more annoying to modify what things are in the precompiled header.
Keeping all uses of boost.spirit in a single translation unit helps avoid having it murder compile times, which requires that it be off by itself.