First, they allow a maximum execution time comparable to “pure server” environments, instead of 15min.
Then, the code-first approach allows configuring the execution parameters (concurrency, retries, and more) from the function’s code and enables to write workflows by applying well-known code patterns such as recursion or map-reduce (calling child background functions is a workflow).
Finally, you can write a background function that requires any kind of dependencies, whether they be internal, external, or even native.