
Thicken
Normally, you model objects with only the outer surface visible to the camera. However, if the surface is broken through, the object should be output to a 3D printer, or of certain render effects require a suitable volume (e.g., Subsurface Scattering), this 'paper-thin' surface must be given a wall thickness. This is done by vertically moving a duplicated surface:

The wall thickness can be affected via Vertex Maps.
Since Selection tags are assigned internally for the original surface, caps and the border, these can each be assigned a separate material.
Note also the Thicken tool that interactively does something similar.