Lets say you are running an application, that can only use one of the 2 cores. With the shared cache, while one CPU is idle, the other will have access to the full 2mb of cache, while the other one, not having shared cache, can still only access 1mb of cache. Or both cpu's are running a task, one of them is cache hungry, the other only uses a litttle cache. With shared cache, the program that is cache hungry has access to the remainder of the cache the other program isn't using. On the non-shared, the cache hungry program will be limited to 1mb, while the remainder of the cache not being used by the other core will just sit idle.
It will really depend on the situation, and these are only theoretical situations, as to how often it would actualy occur, and what programs would get the advantages from shared cache, I'm not sure, although single threaded programs are more likely to benifit from the shared cache by having the full amount available when the other core is not in use.