{% cache %} always creates new cache data, never uses existing cached data
Update:

This has been fixed for the next (post 2.4.2725) release.



Turns out there is a bug in Craft where if you put cache tags around code that doesn't actually output anything, then duplicate keys get created in the craft_templatecaches table.

No workaround for it yet (other than to make sure you don't cache an empty string), but it's been logged as a bug.