About the only time I use labels, is to pull a ripcord on existing code logic (usually larger than it should be) that would be much more cumbersome to refactor into separate function calls.
I don't use it a lot and usually have to lookup the syntax to double-check, as often I'll remember it as `:label` instead of `label:`. Same happens with shift/unshift, I almost always have to look it up as I remember backwards.