Note: Forge implemented a general fix for this issue in build 36.0.46. This means that RecipeBuffers is not necessary any more to prevent errors on login after that Forge build. It still reduces the amount of data sent at login, but the saved data is probably not worth the added potential for bugs in most cases. The following description was written with older Forge builds in mind.
In recent Minecraft versions all recipes are sent to the client on login. This is necessary for datapacks to be able to add recipes. However all recipes are sent in a single packet. If the size of this packet exceeds 2 MiB the connection will be aborted with an error mentioning "badly compressed packets". This mod adds some optimizations to reduce the size of that packet, so more mods can be added before the 2 MiB limit is reached.
This mod needs to be installed on both client and server, since it essentially changes the "language" they use to speak to each other when syncing recipes.
With this mod the size of the packet is typically around half the size it would be otherwise.