Hi Eddy, from application point of view: during restart of application server service is cleared server cache (contents of %SD_SERVERHOME%\cache directory), so sometimes (f.i. a lot of changes in custom fields has been provided) it is not bad idea to restart SD app. server service; also while adding "brand new" custom field it is definitelly good idea.
ad purpose of the server cache, better performance of application server (cache some data /f.i. labels, data dictionary etc./ localy instead of repeatedly run still the same queryies on database engine)
ad server vs. local cache files, IMHO client cache files are something similar (at least are used for something similar /cache labels of custom fields etc./), but are not totaly identical to server cache files