Server variables are used to hold values that are global in the system; they can be used by any business process, case or case fragment.
Server variables can only have one value at any given time. For example, if the location of company templates is kept in a server variable and the location changes, you can change the variable value and the change would be reflected across all processes that use the variable. It is also possible to secure the values of these variables. For example, you may not wish anyone to see a connection string because it contains secure information. If the location is defined at the process map level, as a process variable, the location would need to be changed on all processes individually.