A starter is a small batch of wort that yeast use to multiply and get ready for fermenting your batch of beer.  It's main purpose is to create enough clean healthy yeast to ferment your batch of beer under optimal conditions.  Your main focus when making a starter should always be yeast health.  It is better to pitch a smaller number of healthy cells than it is a large number of weak cells.  A starter should always be made if you are concerned that your yeast viability or vitality might be low.  For example if your yeast is not very fresh or if it has been exposed to high temps during shipping.  A starter will also be required if you don't have the recommended amount of healthy yeast cells to ferment your batch of beer.  There are several tools out there that will help you determine the proper amount of yeast that you will need for your specific batch of beer.  I like to use Mr. Malty and Yeast Calc
You should not make a starter if you can't handle the steps required in a sanitary way.  If you can successfully produce a batch of beer free of contamination, then you should be able to make a successful starter.  You should also not make a starter when using dry yeast packets.

Making a starter is like making a mini-batch of beer with a starting gravity between 1.030 - 1.040.  The yeast calculators I posted above will help you determine the correct volume for your starter.  Typically the size will range from 1L -2L for a 5 gallon batch of ale.  Lagers will require a higher number of yeast cells, so your starters volumes will be larger.

Starters can be "Stepped Up" to achieve higher numbers of yeast cells.  This is a process of adding fresh starter wort to your already completed starter.  For example in my pictures below you will see that my first initial volume was 2.5L.  My next step was an addition of 5L of fresh wort to the finished 2.5L starter.  After 24-36 hours the 2.5L starter was chilled to 38f to allow the yeast to drop out of suspension, then the wort was poured off (decanted) leaving only the yeast in the vessel.  Then 5L of fresh starter wort was added to the starter vessel which contained all of the yeast from the initial starter.

Oxygen plays a crucial role in yeast health and growth.  Oxygenating your starter will allow you to build a larger amount of healthy viable yeast.  This is why many of us use stir plates.  If you do not have a stir plate you can simply shake your active starter as much as possible.

To make a starter you will need a clean sanitized vessel large enough to hold your starter plus some head space.  I use 6 qt rubbermaid containers with loose fitting lids, but I started out using 1/2 gallon growlers.  You will want to use aluminum foil to cover the mouth of the growler.  You do not want to use an airlock on your starter vessel as it will hinder oxygenation.  Many home brew suppliers sell foam stoppers which will allow oxygenation.  You will also need DME and water.  It also beneficial to use a yeast nutrient.

 Below is my method for making a 2.5L starter.

Step 1.  Weigh out 1/2lb of dme.

Step 2.  Add 3L of water to stock pot.  I anticipate loosing 1/2L to boil-off / evaporation.

Step 3.  Bring water to a boil.  If you are using a stir plate throw your stir bar into the boil.

Step 4.  Stir in dme.  I also like to throw in a few pellet hops.

Step 5.  Boil for 15 minutes.

Step 6.  Chill in ice bath to below 70f.

Step 7.  Add wort, stir bar (if using one) and yeast to your sanitized starter vessel and cover.

Step 8.  Place on stir plate if you have one.  If not try to shake the starter whenever you walk by it.

Step 9.  Let the starter ferment for 24-36 hours.

Step 10.  You can either pitch the entire starter into your beer or chill for 18-24hrs, pour off the spent wort and pitch only the yeast at the bottom of your starter vessel.

Remember to practice good sanitation throughout the process.