if you are basically wanting to run a job at a predictable schedule, there is no difference. If you need the job to run immediately based on input from another source, then the gateways would be more appropriate.
For example, I had a situation where I wanted to import flat files as soon as they arrived, so a gateway made more sense as opposed to running a scheduled job every minute. The gateway would only log things based successful file imports or failures, where as a scheduled job would have been full of logs showing "no file found" errors which would not be great for checking things.