break/continue does indeed provide the user with ways to bring back the evils of goto, as do exceptions. Technically it's always possible to structure your loop so you don't need a break, but in practice it's not worth the extra wrangling just for the sake of some elegance.
One would have to make a determined effort to use breaks, continues, exceptions etc to create bad code.