If it's general purpose, then I agree that visual languages always seem to be an annoyance. If it's ___domain-specific, that's another story, since many domains are all about connecting blocks together. The most common use case is audio/video signal processing, where it works well if you're working above a certain level of abstraction.