Reprojection in GIS consists in changing the coordinates values of a dataset from one coordinate system to another coordinate system.
Let's take a one dimensionnal case as an exampple. Imagine that you need to guide two friends who are trying to find your house. The first thing that you need to know is from which direction they will approach your street. If they don't approach from the same side of the road, you will need to give different indications to each.
From point A, you will tell your friend to drive 250 m then it will be on his right.
From point B, you will tell your friend to drive 750 m then it will be on his left.
So, for the same destination, you give different information in order to find your place.
If you translate this in GIS terms, A and B are the origins of two different coordinate reference systems. The coordinate of your house, in the first coordinate reference system, is 250m; the coordinate of your house, in the second coordinate reference system, is 750m.
The reprojection that you apply to the coordinates, in this easy case, is 1000 - x
.
With 2D (or 3D) coordinate system, the reprojection will be more complex, but the idea is the same.
For different reasons you may need to change the coordinate reference system (some examples are given below).
Therefore you apply a mathematical transformation of each geometry represented in the first coordinate system so that it can be located by someone using another coordinate reference system.
Those mathematical transformation are sometimes quite simple (eg. translation, rotation), but often much more complex: they are then called "warping".
As a remark, the term REprojection usually means that you move from one cartesian 2D (= XY = projected) coordinate system to another cartesian 2D (=projected) coordinate system. Projection (without RE) is used from a geographic (= lat/long = angular) coordinates system to a projected coordinate system.
Main reasons to change coordinate system:
Facilitate the computation of some features, because each projection has the ability to preserve some properties of the "real world" objects (e.g. shortest path is represented by a straight line, loxodrome (constant compass direction) represented as straight line, distances measured from some points of the map are true distances, areas can be compared, local angle (shape) is preserved...) but none can preserve them all.
changing territory, because many coordinate reference systems are "locally" optimized for one state, one country... and you might need some continuity when working across the boundaries of these countries.
EDIT: for visuals, here is a nice video about projections' distortions, by Vox (there is an "ad" at the start, but it's nice).
Best Answer
Personally, for the cliff's notes I find the ESRI ArcGIS desktop software help system useful, and and also the ESRI book Understanding Map Projections, its first 30 pages are not unlike a short textbook, followed by ~70 pages of appendix on individual projections, their uses, strengths, weaknesses, etc.
From these, you'll quickly understand all the pieces of a complete SR - spheroid + datum + meridian + unit of measure => GCS; and projection + parameters + unit of measure + GCS => PCS.
For all the math, try the classic USGS Professional Paper 1395 by John P. Synder - Map Projections - A Working Manual. You might find a PDF somewhere if you google it.
Finally, take a look at the 'documentation' links at the bottom of the page for the Proj.4 library.
And as a DB of spatial references, I tend to refer to http://www.spatialreference.org/ or another ESRI list provided as part of the docs for their ArcGIS Server REST API.
Hope that helps.