This is how it works. You have two things, Client and Server
The client is you. More specifically the client is what you play your game on.
The server is a separate entity that hosts an environment for the client.
In SSP (Survival Single Player) you launch your own private, local hosted server, though it's not available to be played by anyone but your client unless you open it to LAN to accept other local clients.
In SMP, you execute a server protocol that generates and maintains a world based on the mods you give it. You need to have the same files as the server on your client to enter the environment.
In answer to your question, yes and no.
Yes, you need exactly the same mods on your client that the server has.
No, you can have as many mods as possible on your client as you want however what mods you have on the client that the server doesn't have won't exist on the server. Also, client-side mods such as the minimap, ArmorStatusHUD or Optifine, which only effects you client-side, doesn't need to be present on the server to be used.
Also it would help if your config files matched the config files on your server.
Hope this helps.
PS; love your username and picture~.