Boa tarde o problema é que no primeiro case você usou o ou e uma das comparações esta dando sempre True , pois o horario das 18:50 ou superior também é maior que 16:30 , tente o codi abaixo.
<?php
// DEFINE O FUSO HORARIO COMO O HORARIO DE BRASILIA
date_default_timezone_set('America/Sao_Paulo');
//echo date('h:i:s').'<br />'; //Resultado: 06:52:49
//HORA FORMATO BRASILEIRO
$hora = date('H:i:s'); //Resultado: 18:52:03
switch (true) {
case ( $hora >= '16:30:00' && $hora < '18:50:00'):
echo 'Informação da Hora ';
break;
case ($hora >= '18:50:00'):
echo 'Informação do Horário ';
break;
}
?>