It can be, sure. But when used in a limited manner where it makes sense it can be the more readable option. I’ve used it in a try/catch to retry the operation after changing a variable. One label (“reconnect”), one goto, totally easy to understand on a surface level.
This is still a joke mind you, but whose justice?