One factor would be that you already have a node app or container to perform some self contained function or to run something that only works on node, or you want to use pubsub and/or cloud storage, or of course if you are using firestore/firebase, or if you have something that would take too long to run on Apps Script and want to split it into one or multiple simultaneously executing chunks.
btw - I normally use regular cloud functions rather than involving firebase.
cloud run is a bit more complicated than cloud functions to work with. If you are running kubernetes, you can execute cloud run on your own cluster which avoids a lot of faffing around with security stuff.
Here's how..