What's the difference between a Colour Model and a Colour Space?
Humans can see literally millions and millions of different colours in the real world. Every one of those colours can be made up by mixing differing proportions of ‘pure’ additive primary colours: red, green, and blue. For example a purplish colour is composed of a lot of red and a lot of blue but little or no green. Conversely, every colour can be resolved into a combination of red, green, and blue light.
A system whereby any colour is described by the amounts of the red, green, and blue primary colours that make up the colour, is called an RGB colour model. The RGB colour model is one of a number of models that are used to describe colour, in different parts of digital photography.
Another colour model that is often used, particularly in the printing industry, is the CMYK model. In the CMYK model any colour may be described by the amounts of the subtractive primary colours: cyan, magenta, yellow and black.
Yet another model that is used in digital-photography software applications is the CIE LAB model. In this model each colour is described in terms of the relative contributions of yellow and blue (on the 'a' axis), the relative contributions of green and magenta (on the 'b' axis), and the relative lightness or darkness, or Luminance, of the colour.
Any colour on the visible spectrum can equally well be described using an RGB model, a CYMK model, or a LAB model. In the process of an image being passed through a digital workflow from camera to print, the image data is sometimes represented in an RGB model, and sometimes in a LAB model. RGB is often used where user interactions are required because people find the RGB idea relatively easy to understand. Operations on colours that are done 'under the hood' inside a software program like Photoshop are often carried out inside a LAB model.
The word 'space' is used to describe a mathematical model that has 2, 3 or more dimensions, and where the dimensions have numbers. In high-school mathematics we learned about 2-dimensional spaces with two axes, x and y. A number pair, like (7, 3) represents a point in that space.
A colour space takes the idea of a colour model one step further, by assigning a precise set of numbers to a particular colour. An RGB colour space has 3 dimensions. Each number triple represents a unique colour.
In an RGB colour space the triple (x,y,z) represents a colour that is made up of 'x' amount of red, 'y' amount of green, and 'z' amount of blue.
There can be many colour spaces which all use the same colour model. sRGB, Adobe RGB, and ProPhoto RGB can all be represented on the RGB colour model, but they are different colour spaces because:
The CIE L*a*b* colour space is a theoretical colour space represented on a LAB model in which unique numbers are applied to all visible colours.
Different colour spaces can also be represented using different colour models too! For example, Adobe RGB can be represented on an RGB model, as above, or its numbers can be transformed into numbers for the L*a*b* model.
When you are using a device-independent colour space as the 'esperanto' for converting between different device dependent spaces, you need the biggest space possible so that no colours that can be captured or displayed on the devices are clipped by the device-independent space. (You don't want colour lost in translation!)
What's the difference?
A color model provides the variables with which we can think about and work with colour. A colour space puts uniquely defined number values on each colour.