Server side scripts are almost always run from a schedule so this can be a good option if your script needs to be run periodically at the same time each day. I use such a schedule to do some "housekeeping" every evening late at night when no one else is using the system.
Server side scripts have significant limitations. You'll need to research this in the knowledgebase and also to use the compatibility drop down in the script editor to see if every step of your script can work server side. In addition to the compatibility check, import records, export records and references to external database files are extremely limited when script is run from a server schedule.
Server scheduled scripts run as though from the host computer. This means that any changes made to a global field will be retained--unlike modifying the field from a client machine.