Now that is one humdinger of a question!
Realize that solids are by definition, just surfaces that form a closed boundary. Solids and surfaces are much closer bretheren than one might initially imagine. So it is unjustified to make this distinction between "when do i make a solid" and "when do i make a surface" you simply make a model.
Solids require at every operation, they retain their solidity, this can limit you in the kinds of shapes you can make. Surfaces allow you to temporarily have gaps and openings which you can fill in at later stages to turn it back into a solid. Mark Biasotti put it a little like this "surfaces are handy when you can not easily define a shape with just one feature, or a few features" and to think of surfacing as "smaller chunks of individual design intents".
Definitely try to pick up the book by Matt Lombard called SolidWorks Surfacing and Complex Shape Modeling it should make things much clearer. Also don't feel bad if you don't get it right away, people with years of experience still struggle from time to time!
Solids are a collection of surfaces knitted to produce a water tight closed volume. You can have mass with solids since the solid will be aware of its enclosed volume. Enclosed Volume x Density
A solid box is just six surfaces with all it surface normals in the same direction, knitted into a water tight enclosed volume.
Instead of going through the pain of creating all that indvidually, like the old days with wire frame and surface modelers, 3D parametric solid modelers automates the process and gives you parameters to easily modify the volumes size.
Surfacing techniques are a great tool for solving tough solid modeling problems. There are things that are easier to do with surfaces. It is not uncommon for me to use surfacing techniques along with solids for unique modeling situations.
Here is an example of a sheet metal part that was easier to create with surfaces and thicken to meet my design critieria then to use solids or sheet metal tools.
Weld Ring.sldprt.zip 2.1 MB