I'm not sure that's a fair explanation. You can do any of these things in the implementation language of a web app. But splitting them out into external applications has other advantages.
Such as?
Such as?