Preceding Load allows you to perform additional load steps before initializing a table. Each step uses the output of the preceding load statement as input.
In my opinion, the biggest benefit of using this is code readability. There may be times where putting all the transformations in a single Load statement is faster, however it is in most cases easier to understand code that pieces out the transformations into multiple steps versus having a ton of nested functions.
With that said, if performance is a high priority it is worth testing various avenues. All in one load, preceding load, exporting to QVDs and performing the transformation on a new ingestion, etc… There will almost always be multiple ways to solve a problem. A priority in any type of development is that it is readable, whether it is you 6 months in the future or a colleague who takes over support.