MathWorld knows! :)
Basically its a method for visualizing functions. I guess (crudely) that this means you can 'see' the domain that the function can map to, based on any given variables that it might take..
"Among a number of wonderful ideas we owe Riemann, the idea of Riemann surface is, without doubt, the most beautiful, everlasting, intensively developing, unifying and fertilizing a number of other ideas, penetrating the whole body of mathematics, and, in turn, many branches of physics."
-- K. Maurin. The Riemann Legacy, Kluwer, 1997
There's some brief history of Riemann.
The reason I guess Riemann surfaces pop up in string theory is that they can be useful to define the 'space' in which a string can move..?
That's it. My brain is satisfactorily fried for the night.
I'm going to do some coding now.
Programming is easy!
p.s. Check out some of these visualizations.