the cache stores pre-compiled copies of the most commonly used files for the game (the XML's, mostly) -- since these are pre-compiled (by a previous startup), they load significantly faster. However, the game can't check a noncompiled copy versus a precompiled copy to see if they are the same.
To get around this, the game simply always loads the precompiled cache files if they are present. This causes problems with patches and mods, since they often update files that are in the cache, and the game won't use the new copy. Hence holding Shift -- the game checks during its startup routine if the Shfit key is being held down. If it is, it erases the cache, and rebuilds it from the latest copies of the files... thus reloading changes made in patches or mods.
Don't hold Shift while you're double-clicking the icon, rather, double-click, then hold Shift when you get the initial splash screen (BEFORE the loading progress bar)