Lets try this a different way. Whats so great about GCD that other processor resource management systems get so wrong, that using GCD is the only thing that makes sense to you?
Right, brain fart on the train. But the point still stands, why should we use GCD when there are other more portable means out there - which are also supported on iOS - to do the same thing? It's just different for the sake of being different.
Wikipedia says GCD and Go are the same age (both released 2009). Is Go also different for the sake of being different? Why is Go good and GCD bad?
I imagine we’re not going to convince each other of the technical merits, but I personally think GCD is a very nice programming model. I’m less of a fan of Go but plenty of people love it so clearly there’s something there. There’s room for both.
It’s a valid criticism of a lot of Apple tech that it’s very locked down, but given libdispatch is open source (as are the Clang changes to support block syntax in C) I don’t think that criticism is fair here.