I am curious what the penalty for using scriptJobs is,
The penalty is the time it takes to run the scriptjob. However it impposes 2 mental penalties on you. One which makes it hard to debug things because its hard to anticipate what will happen, this makes debugging harder than expected. Two it paves way for sloppy thinking. At worst the penalty is that you have by design stacked hundreds of scriptjobs to handle a similar tasks over and over again.**
Its just that maya isnt a general event based application. So script jobs dont always run when you expect them to run. Because maya disables scriptjob running in certain cases. But for saves they are fine. A second problem is that scriptjobs still go into the undo stack unless you disable undo, this may cause havoc to things inside maya.
Save and open scriptjobs are fine as well as re ones that are tied to gui windows in some way (that they dont become permanent), when used in moderation. Most others are conditionally good, if you can justify them with easy thinking and you can ensure that theres a minimal amount of scriptjobs present.*
So the biggest problem with scriptjobs is that unless you start of thinking in way that avoids them youll end up with huge stacks of scripjobs and all the penalties of this easy design start to make a negative impact on your performance. So use them sparingly.
*the worst possible scriptjob is the permanent idle one and the second worst one is a permanent selection scriptjob.
** i have debugged a maya that was complainedly slow. Well turns out the maya session had 56 selection changed scriptjobs running. Need i say more. I mean 1 fine, 2-3 ok, 4-6 ugly, 6< stupid. 20< INSANE.