I’d say most diversions are caused either by airport closures (eg power failure, snow, flooding, politics) or visibility below limits. Every runway and its approach type (ILS, RNAV, VOR, circling etc) has a promulgated visibility limit. Even autolands have restrictions.
If the (usually automatically measured) visibility is less than the limit then you simply aren’t allowed to complete the approach (there are specific rules) so the decision is made for you.
There will also be company and aircraft manufacturer’s limits for eg crosswind component and pilot qualifications.