Глобальные настройки обработки исключений отвечают за то, как обрабатывать их, в каком виде представлять, возвращать клиенту и тп.
Обработчики уровня actions в контроллерах - за содержание ошибки. К примеру, если у вас есть action MoveFile, который где-то там лезет во внешний сервис и пытается скачать файл и он падает по какой-то сугубо технической проблеме - таймаут у stream-а или еще что, то в конроллере имеет смысл этот Exception перехватить и завернуть во что-то более внятное:
public async Task<IActionResult> MoveFile()
{
try {
...
} catch (Exception exception) {
throw new Exception("Moving file failed.", exception);
}
}
В общем обработка исключений может быть многоуровневой. Например, сервис (то что раньше называли бизнес логикой) может перехватывать исключения уровня базы данных и заворачивать их в более осмысленные и перебрасывать дальше.