To put it simply: The server is the ‘core’ realm of the game, stuff you do there affects the entire game and all the players. Every player has their own client realm. If you make a change to a player clientside, it will only affect them.
An example: If you create an effect say, an explosion serverside, all players will be able to see it. If you create the effect clientside, only the client the code is running on can see it. All Derma menus are clientside for this reason, the menu should only be shown for that client.
As the two are separate ‘realms’, you cannot just set a variable clientside and expect the server to be able read it. There are various means of communication between server and clients, the most common being Console Commands (concommands) and User Messages.
[editline]11th July 2011[/editline]
And Shared means it runs the code on both client and server.