Difference between current source and voltage source
A ideal voltage source produces whatever current is necessary to maintain the voltage.  A ideal current source produces whatever voltage is necessary to maintain the current.  Yes, it really is that simple.

Let's say you have a ideal 10 mA current source.  If you short it, 10 mA will flow and the voltage will be 0.  If you put a 1 k&Omega; resistor accross it, 10 mA will flow and the voltage will be 10 V.  If you put a 10 k&Omega; resistor accross it, 10 mA will flow and the voltage will be 100 V.  If you leave it open circuit, the voltage will go as high as it needs to to make 10 mA flow.  That could be a few 10s of kV initially to break down and ionize the air between the two contacts.  Whatever it takes.  Once the air is ionized (a spark has formed), the voltage will go down again since ionized air is somewhat of a conductor and much less voltage is needed to sustain the 10 mA than to break down the air initially.

Real current sources have real limitations, of course.  One obvious one is the maximum voltage it can produce.  Another is how well the current is regulated.  You might measure a real current source, for example, putting out 10.0 mA at 0 V and 9.9 mA at 10 V.  Note that this drop can be expressed as a resistance.  10 V / 100 &micro;A = 100 k&Omega;.  At first approximation, you can model this real current source as a ideal current source with 100 k&Omega; accross it internally that you can't do anything about.  By Norton to Thevenin (look these up if you don't know them) equivalence, you can also think of this as a 1 kV voltage source with 100 k&Omega; in series with it.

A perfect current source has infinite resistance and a perfect voltage source 0 resistance.