Мне как-то нужно было реализовать сложный алгоритм представленный в виде блок схемы из документации. И я использовал goto, и мне было всё-равно что это моветон, переводить это в циклы не было никакого желания. А в повседневности мне не приходит в голову его использовать.
while(true) тоже достаточно удобная конструкция, т.к. ее блок можно повторить или выйти из него в любой момент. Удобно, например, делать проверку параметров функции. Мне кажется, что в языках не хватает конструкции для этого.
Автор, можно так сказать: можно и с goto и без писать код и хорошо и плохо. Не над тем вы паритесь