Originally an acronym for Gazelle Cache File (Gazelle was the original codename for Steam), GCF is now commonly taken to mean Game Cache File. GCFs are the name of the single files in which Steam games are stored and official content is downloaded. GCF files can be shared between games (e.g. source engine.gcf).
When a GCF is created or updated, the disk space required for it is reserved and content is subsequently downloaded to fill it. This process ensures there is no fragmentation, but can be slow and appear to make the Steam client freeze with older hardware and/or software.
GCF files cannot be altered, and if they could Steam would correct them when it next ran, but their contents can be viewed. Ryan "Nemesis" Gregg is the developer of HLLib, a library that can among other features read and extract GCF files, and its popular implementation GCFScape.
The GCF format makes keeping tabs on and moving games much easier, ensures time is not wasted by the operating system indexing or otherwise handing the game files, and keeps important data away from any custom files the user might have, which are stored under their /<account>/<game>/ folder.