Cosmo, let's break this down a little bit. The "spatial reference" of a geodataset has two parts:
1. Georeferencing
This is the information that maps the internal x,y (row, column in rasters) to real world xy coordinates (decimal degrees, utm meters etc.) This is what lives in your world file, and what inside the geodatabase (unlike a world file, you never see this) to map its internal integer coordinates to x,y values. The georeferencing also (together with the dataset contents) determines the raster or feature class extent, which is hopefully kept in synch with the georeferencing from time to time as the dataset is changed.
2. Coordinate System
This is metadata that tells the software (and you) what the "real-world" xy values mean. For example, are they decimal degrees, and if so which horizontal datum? If they are UTM meters, what zone (and referenced to what geographic datum?)
The CS does not live in your world file, this is created or modified using the Define Projection tool.
IMPORTANT: The Define Projection tool does NOT change the XYs or modify the georeferencing, it just sets up the information (stored in an .aux or .prj file [or in a table row hidden in the gdb]) that tells the software what the XYs mean. If you want to transform data from, say geographic to UTM, you must use the Project or Project Raster tool.
I'm sure if I messed this up Melita Kennedy will set me straight. She's da bomb.