Ну например, если вам надо реализовать алгоритм поиска решения делением отрезка пополам, то эффективнее использовать сдвиг вправо, а не деление на 2.
Кроме этого побитовые операторы актуальны при работе с цветом RGB если все три (или 4) составляющих хранятся в одном int.
Еще можно вспомнить про перевод в двоичную и шестнадцатеричную систему исчисления для удобного представления id сессии или чего то подобного.
Ну это как примеры…
Естественно все это нужно, только в тех случаях, когда нету готовых функций встроенных в язык.