Sometimes you have to submitt multiple iterations of the same task with concises difference between paramters for each iterations, e.g. MCMC chains. Some sort of parallelization that does not really put results together once is finsihed...
-
You could write a shell script which will sequentially launch each job, but you would have to write a SGE script for each job and each iterations will have to wait for the previous one to finsih
-
You could qsub each iteration one by one but it will require a lot of typing and still you would have to write a SGE script for each job
With an array you need a single SGE script and the cluster will launch all the jobs at the same time, queuing the ones that do not fit and automatically launching them as soon as there is a chance