It has a more meaningful reason. Set analysis is much faster and more efficient in terms of performance. Main reason for that is , it uses some logic like INDEXING at the background.
You can see the performance difference taking a big database and implementing a complex logic to calculate using multiple IFs and the same using Set Analysis.
You might have a look at this discussion
Hope this helps.
If you want to calculate dynamic on the fly that we cannot script, say a what-if analysis that would require sliding of the slider or input box value that we do not have yet. These values would be assigned to variable and then set analysis would be used using that variable.
I sort of differ on the efficiency, set analysis is slower comparatively when done at script level.
However set analysis allows to make selections other than the selection that has already been made on the dashboard.
This is a huge subject to deal with, these were the quick points that I could think of on this question. There is of-course a lot more.