I see them as separate activities.
Geocoding is the process of taking coded location information (such as addresses or grids) and turning it into explicit location information (X and Y coordinates, usually). Reverse geocoding is the opposite, taking XY data and locating the nearest address, grid, etc.
Georeferencing is the process of taking a raster image or vector coverage, assigning it a coordinate system and coordinates, and translating, transforming, and warping/rubbersheeting it into position relative to some other spatial data, such as survey locations, street intersections, etc.
This can be sometimes also be called rectification or georectification interchangeably, while in some contexts, georeferencing is considered to only include the assigning of a spatial reference and coordinates to the image, and rectification is the transformation and resampling of the image to remove distortion (as in orthorectification).
In ArcGIS, georeferencing is transitory (on-the-fly transformation of the source image) while rectification is permanent (creating a new resampled image given a georeferenced raster layer).