A GameFiber is essentially its own thread. Now, why is this important? While GTA V ticks scripts one at a time (so no benefit for multiple threads here), it allows you to use the commands you already mentioned. You can spawn a new GameFiber, have it do something and then wait for 5 seconds before doing something else. This will not interrupt any other fiber or game code and RAGE Plugin Hook will automatically resume the waiting fiber after 5 seconds for you and it will continue execution. So whenever you deal with operations that need to wait or handle blocking resources, using a GameFiber might be a good idea.
A word of caution though: For LSPDFR itself we have largely moved away from having many fibers like we used to in previous versions. The reason being that the code is less predictable since the order in which fibers will execute is more or less random and other plugin fibers might run in between. To save resources we like to do a few things only once per tick, which would not be possible if we used many fibers. For instance, at the start of the tick, we invalidate all entities that no longer exist and remove their internal tasks etc. This means that tasks down the road do not have to worry about running on a non-existent entity, saving us some call time as well. If we used fibers for everything like we did before, we would always have to double check. So while fibers provide a lot of benefits and are generally quite lightweight, for large scale projects they can cause more harm than good and should be used with caution.