There can be some confusion over the difference between a Spatial Reference System (SRS) and a Coordinate Reference System (CRS), and unfortunately WGS84 is often used for both. EPSG:4326 is merely the reference number of EPSG's database entry describing a CRS. Typing 4326 into their website here gives us this:
The things to note here are that 4326 refers to a Geodetic CRS (i.e. it uses latitude and longitude as coordinate units). It is made up of the WGS84 Geodetic Datum (EPSG:6326) and an ellipsoidal coordinate system (EPSG:6422). The datum itself is made up of the WGS84 ellipsoid, and a prime meridian. These are the SRS components.
So you can see in this instance, WGS84 could refer to three different things! But EPSG:4326 is unambiguous. The beauty of this system is that other geodetic CRSes can be defined in terms of EPSG:6422 (Ellipsoidal CS) and we'd always know it refers to an North/East longitude/latitude coordinate system.
In addition, projections can be built up from these geodetic CRSes, for instance UTM zone 30N looks like this:
Here you can see that it uses the WGS84 CRS as its base coordinate reference system, then defines the type of projection, its origin, and its false eastings and northings. So it can be viewed as a kind of "wrapper" around EPSG:4326, which is already well defined. It would be possible, for instance, to use the same projection parameters but a different geodetic CRS such as OSGB 1936 (EPSG:4277), which will define a valid coordinate system but one that would be of less use to other users. These sort of ad-hoc CRSes tend to be given high EPSG numbers, and often are just bogus ones invented for a specific use and not officially adopted by the EPSG. EPSG:900913 (Google's Web Mercator) was like this, until it was adopted as EPSG:3857.