There always seems to be a lot of discussion about Solids vs Surfaces and there is a great deal of misunderstanding from the users perspective. As John Brock said, you need to be careful that you don't get fooled by the fact that you can take solids apart in Rhino.
My take on all of this is as follows - (hope it doesn't go on for too long).
Because surfaces have a surface normal (direction determining a front and back face), Rhino understands a volume when a Solid is formed because all of the faces are automatically adjusted (if required) to face outwards.
[Rhino understands that a volume is a “solid” when ALL the edges of ALL the surfaces involved join up without any gaps or holes. That means there are NO edges in the object that are not joined to another edge (and only one other edge). The absence of unjoined (or “naked” in Rhino terms) edges tells Rhino that the object is a closed volume (read “Solid”) and Rhino flips all the surface normals to the outside. If you have even one naked edge or hole, the volume is considered by Rhino to be “Open” and not “Solid”. –Mitch]
Unlike a “solids modeller” such as SolidWorks that works primarily with “solids” entities, Rhino uses a more flexible hybrid approach. However if you export a solid from either package (say a cube) to STL, VRML etc., the result is the same. A boundary representation of the shell and no material inside the zero thickness skin. The solid, for want of a better word, is defined by the boundary and the surface direction. That is to say that everything inside must be by definition - SOLID.
The way this works can be illustrated simply by using the Surface from Planar Curves command.
A number of people get disturbed by the fact that if they trim a solid (like the wall of a building) they reveal the inside of the boundary representation (BRep) of the solid. This is more to do with the technique used to cut the wall than an issue of “was it actually solid”. If you cut a solid using a Boolean operation, using either a surface or a solid as the cutting tool, you will never see inside the BRep and therefore everything is kept secret.
At a user level, this is what the “solids modellers” like SolidWorks and Solid Edge are doing all of the time. They must resolve geometry as a solid. Yes, they are including some basic surface tools but nothing compared to Rhino.
The power and flexibility afforded to the user by Rhino's hybrid approach is unquestionable in nearly every respect.
In conclusion, there are some packages that need to understand in a true sense, the material that is the solid. These include flow analysis packages and applications such as Sensables - Clay Tools for Rhino. These packages (please excuse the poor non-technical description) use in many cases Voxels. The best description I can give for this is to think of them as a mass of tiny cubic bricks that are stacked together to define the volume. Or a bit like a bean bag chair (remember the 70's). Its a skin full of tiny beads that define the volume, but without the skin. This definition of a solid is useful when you need to have the material flow or when you need to sculpt it interactively.
OK. I've had my say.
Please - if I have made any errors here, feel free to correct me.
[Mark H. 05-12-05]