Minecraft servers allow players to play online with other people. They may either be run on a dedicated server, or be temporary, and run off a home machine.
How to make a server
In order to create your own server, one must first download the server software from the multiplayer page of the Minecraft website, and forward the port they wish to use for their server, then simply follow the steps in the server software readme.
For help with port forwarding, most players have gone to portforward.com.
If all else fails, the official Minecraft forums usually have a good information on hosting servers.
Follow this guide might help you also: http://www.minecraftforum.net/viewtopic.php?id=836
Connecting to your local server
Once your server is up, you start sending the external URL to your friends. If you have trouble logging in through the external URL, you can use the local IP to join yourself, make sure you're logged in and use the following URL:
http://www.minecraft.net/play.jsp?ip=127.0.0.1&port=25565
If you changed the port in the configuration file you'll have to change that in the URL too.
If someone in the same network wants to connect to your server, that person will have to use the same link, but change the ip adress to the hoster's local ip adress.
You might have trouble connecting to your own server while others can join without problems. This can be solved by changing "verify-names=true" to "verify-names=false" in the server.properties file.
Different kinds of servers
There are numerous kinds of Minecraft servers, usually distinguished by the level used in them or how players in them are supposed to behave. Most special types of servers rely on the use of map editors.
Standard server
A standard server with a normal map, usually allow players to build or destroy whatever they wish to. (Though most often griefing is against the rules)
Flatgrass server
An otherwise standard server whose level is not randomly generated, but is instead simply a vast grassy plain.
Ocean Build server
This kind of server usually consists of 100% water, or just mostly water, and generally encourage building underwater structures. These gained more prominence when sponges were added.
Falling Lava server
A server, usually with a small, blank map, with a single block of lava at the top of it. Players are intended to try and construct a shelter before the lava engulfs the area ("surviving"). It is usually reset afterwards.
Roleplay server
A server, usually with a normal map, where players are encouraged to take on roles and act as them in the game. Often, these servers will attempt to simulate settlement in some foreign land or similar, and require the gathering of resources to build structures.
Spleef server
This is a server, usually with a nonstandard map, that is dedicated to playing Spleef. These servers will tend to have much more extravagant Spleef arenas than a standard server might.
Dome server
Dome Servers Consist of large underwater domes made of glass or Unbreakable stone if an admin can't be on 24/7. (Usually because of flooding.)
Cave server
A server which is mostly or entirely an elaborate cave or series of caves, far more spacious and/or dynamic than standard caves.
Landscape Server
Server with both Oceanic and Mountainous themes. Ideal for building towns.