Какой смысл так упрощать запросы?
Забавно, что никто так и не понял вопроса. 
В единственном экземпляре это будет банальный тернарный оператор.
А в удвоенном - это ужас, летящий на крыльях ночи, поскольку в том же мануале сказано,Замечание:
Рекомендуется избегать "нагромождения" тернарных выражений. Поведение PHP неочевидно при использовании нескольких тернарных операторов в одном выражении:
И в итоге этот код скорее всего работает не так, как хотел автор. Если переписать на обычные условия, то получится такой кодif (isset($product_info['meta_h1'])) {
    if ($product_info['meta_h1']) {
        $out = $product_info['meta_h1'];
    } else {
        $out = $product_info['name'];
    }
} else {
    $out = '';
}
Логики я здесь не вижу.
Более осмысленным вариантом для меня было бы, "если $product_info['meta_h1'] не существует или пуста, то выводить $product_info['name']". То есть, все свелось бы к простому единственному тернарному оператору!empty($product_info['meta_h1']) ? $product_info['meta_h1'] : $product_info['name'];
На вопрос же "зачем" ответ простой: от лени и головотяпства. Есть такой период в жизни каждого пользователя похапе, когда кажется, что чем короче ты напишешь, тем круче выглядит твой код... а потом, когда начинаешь читать свое произведение, из глаз начинает идти кровь.
Просто в одну строку запись.
Для понимания просто добавьте переносы строк
Условие
? Истина
: лож
P.s.
isset($product_info['meta_h1']) && isset($product_info['name'])
   ? $product_info['name']
   : '';