Без скобочек сначала выполняется <<. Фактически, у вас написано вот это: (std::cout<<a) == b;
<< - переопределенный оператор для std::cout, он выведет a на экран и вернет ссылку на std::cout, которую потом программа попытается сравнить с b и не сможет, потому что операция такого сравнения не определена.
Если же поставить скобки, то сначала выполнится ==, результат ее работы - bool - уже потом будет через оператор << выведен в на экран.