Here's an example of where I'm using it in some code...
// This is used to generate edges on turfs as a workaround for layering in SIDE_MAP format
DIR_LOOP:
for(d in L) // d is a direction, L is a list of directions
t = get_step(src, d)
// For turfs
if(isturf(src) && t && !istype(t, type))
new_edge(d)
// For other atoms
else if(t && !istype(t, type))
for(var/atom/a in t)
if(istype(a,type))
continue DIR_LOOP
else
new_edge(d)
In the code you have there, replacing "continue DIR_LOOP" with "break" would have the same effect (assuming there's not more code following that). Even if there is more code, you can do something like this:
Personally, I don't like loop labels because they look strange (you're never expecting to see them) and they require extra indentation.