Why is dispatchGroup used in certain situations?
It allows multiple synchronous or asynchronous operations to run on different queues.
It allows track and control execution of multiple operations together.
It allows operations to wait for each other as desired.
All of these answers. Reference: Apple Developer: Documentation: Dispatch: Dispatch Group