It may seem like this question is self explanatory, but some things may throw you off a little bit, let's just clear the muddy waters. Also, if you want to be an effective Webmaster, you'll need to learn the difference between server side and client side objectives and what limits you have with both. To put it simple, client side is what's done on your computer. JavaScript would be an example of something client side. You don't need the server to help with the function of the script.
Server side is when the server is needed to take care of the task.
CGI-BIN is server side because it calls for the server to complete the task. A lot of things are only accessible by the server side. The server side is where your database and other animating systems are accessed, that means it could be detrimental for large site builders. Sometimes you may need to use both, to speed things up, and an example of that would be processing a form. You'll probably want to validate information before it's sent on to the event handler for processing.