resolution is the key difference, gpio/analog is done to 12bit resolution, whereas commonly midi is 7bit, but we do support 14 bit midi - if your controller supports it.
(processing speed is unlikely to be a factor, unless, perhaps your using a slow midi controller over din)
other consideration, midi is a bit easier to incorporate into patches e.g. you can assign a midi cc directly to a parameter.
you only have a limited number gpio, going above this you will need to starting using multiplexer, not hard but more code/soldering.
(midi, has only 128 cc, but you can send on different channels, or use nrpn etc.)
practically, id say, id use gpio/analog for controls where sensitivity is important, so perhaps use on the main controls, use midi beyond that for flexibility.
(fortunately its not either/or use can use both)
starting out on the patch etc, unless the response was a critical part of the patch, id probably use midi to initial develop, and then add pots etc once finalising the enclosure.
EDIT: just see jans post, steppiness, you can reduce by smoothing between values... this obviously doesn't increase resolution, but it means when you move the control it wont step, it will glide between values ... or use 14 bit as I mentioned earlier
EDIT: its worth noting you are likely to still end up filtering/smoothing with analog too, due to noise... at least I have so far when Ive used it (albeit, less that 7bit midi)