Holds are instigated by something happening "downstream" from the controller issuing the hold. As you point out, it could be anything. The reasons are numerous….but typically involve weather and congestion/flow issues.
The only thing the controller can do, that *is* within their control, is re-clear the aircraft to an alternate if the pilot asks for it. Such is the case when fuel starts getting critically short, etc.
In some cases you'll hear pilots trying to get in more quickly by declaring fuel emergencies, etc. - that doesn't always help. It really depends on what's going on on the ground (or elsewhere) that's creating the need for holding in the first place.