This mailing list archive shows the subtle differences between the two that existed in 1996. Not sure if they still exist now, but since you mentioned an old file...
cwd only prints out where
csh thinks it is, instead of the absolute path that
pwd will figure out.
To quote Scott Williamson in that thread:
Yes, the difference is that $cwd will
give you the path that the shell took
to get to that directory because it
doesn't know any better. pwd will
give the real physical directory
because it starts at the current
directory and works back up the
hierarchy. So symbolic links and
mounting or re-mounting directories
will confuse $cwd.