There are really only three reasons why you would want to use JASS over GUI. Number one is to make your triggers more efficient. Blizzard made almost all GUI functions more complicated than they should be and thus they cause more lag than they should. Also, those "if-then-else" loops can also be made more efficient by using JASS Number two is that you can't create/manipulate local variables with GUI. You HAVE to use JASS, and local variables make things a lot easier to work with (and a lot more efficient). The third thing is there are some functions that simply are not available in GUI, so you HAVE to use JASS to use those functions.
If your spells have a LOT of special effects/lightning effects, make units do crazy things like knockback and jumping, and you require multi-instanceability, use JASS.