What is the difference between ‘discover’ and ‘uncover’?

Solution 1:

There are many cases where either word could be used. However uncover carries the implication that something was covered or hidden, often on purpose or perhaps with the passing of time. Something that was previously known is being re-discovered.

Solution 2:

One generally "discovers" something that is unknown (or at least, unknown to the demographic being referred to), but they "uncover" something that has been deliberately hidden.

Essentially, to dis-cover something is to make it no longer covered. To un-cover something it to remove a cover that was intentionally placed.