I know the question has been marked as answered, but I'm not entirely happy with what was said so far, so I'd like to add my understanding of the terms:
I agree with @Dominik Lukes' explanation on the signifier/signified part, but I think "a case where 1 signified has more than 1 signifier" is not quite not what Frege had in mind with his distinction between sense and denotation.
This explanation sounds to me rather like a description of a polyseme or, even worse, a homonym (this would rather correspond to the case of one signifier having two different signified).
Also I wouldn't say "yet another signifier/sense" using "signifier" and "sense" next to each other as if they could be used interchangeably.
So I think the explanations currently given do not quite match what sense and denotation is about, at least in the way I understood them.
Rather, the terms can roughly be translated to the more recent semantic notions of intension and extension:
The intension is a bit hard to grasp; it is meant to stand for all the content an expression could possibly have, abstracting away from its denotation in a specific situation.
For example, the intension of a proposition can be viewed as the set of all possible worlds in which that proposition is true (sometimes the term "proposition" itself is used to refer to the intension of a proposition).
To make this a bit more intuitive, I'd like to mention that Frege said something like "knowing what a sentence means is knowing what must be the case for it to become true", i.e. if you take the sense of a proposition like "The sun is shining", you have an imagination of all possible worlds/situations/cases in which the sun shines, and the essence about exactly that set of possible worlds is what makes your understanding of what it means in general that "The sun is shining", without evaluating this knowledge with respect to a certain situation.
The intension of a predicate would, seen set-theoretically, map from possible worlds to the concrete sets of individuals in the actual world, so you get the sense of sleep that is not directly dependant on who is sleeping in our world at the moment but rather on the general concept of "sleep", which can again be imagined as a collection of how sleeping looks like in any possible world.
The intension of an individual could, a bit more philosophically, be seen as an accumulation of all properties that individual has (not to cunfuse with a quantificational account of indivudals, where individuals are treated like quantified expressions being sets of predicates that contain the individual), i.e. everything that the individual is all about in all the possible worlds, and the intension/the sense of an indidual isn't actually the reference to that particular individual in the actual world, but rather the imagination of what that individual could be in all possible cases.
The extension, on the other hand, is the denotation of the intension with respect to one particular situation. The extension can be seen as equivalent to the reference of an expression.
In truth-conditional semantics, the extension/the denotation of a proposition is simply its truth value: Taking a sentence like "The sun is shining", the extension of that sentence in a particular situation is true/1 if and only the sun is shining in our situation, and false/0 if it is not.
The extension of an individual is the reference to exactly that individual; this is why I would agree with @Greg Lee on the assertion that signified and deontation actually amount to the same thing, at least I'm not aware of any difference (both can be explained using terms such as reference or extension). Feel free to corret me if I'm wrong.
So I would set the sense of an expression equivalent to the intension of an expression, the "idea" of that sentence, knowing its meaning in all possible cases, without evaluating that idea w.r.t. a particular situation.
Correspondingly, I would set the denotation of an expression equivalent to the extension and possibly also the signified of an expression, which is the reference of that expression to the actual individual/truth value/set/... it denotes in a particular situation we are talking about.
Some further information that is related to the problem:
Moschovakis (1994) (full reference see below) chooses quite an interesting approach to make the terms a little clearer: He tries to account for "Sense and denotation as algorithm and value". Basically, he suggestes that the sense of an expression can be regarded as an algorithm to compute the meaning of an expression, while the denotation is the value we get by applying the algorithm with respect to a specific situation.
The "algorithm" corresponds to what our interior concept of the meaning of a certain expression is and the "value" to the judgement we make about that meaning applied to a specific situation, so we compute the meaning (in the sense of reference) to the actual world an expression has by applying our generic algorithm steps related to that concept and evaluating its value against what is the case in the world.
If you want to do it a bit more formal, the intension of an expression can be viewed as a function mapping from possible worlds to extensions (depending on the type of expression, this extension is a truth value, a set, an individual, ...), which you apply to a possible world (the argument) and get the extension of the expression in that world you just computed the value for.
So if the intension of a proposition is a function taking possible worlds as arguments and giving as an output the truth value of the proposition in that possible world, then the value of that term (i.e. f(w) ) is 1 or 0 depending on whether the proposition is true in w. And the algorithm, i.e. the sense or the intension of the proposition is precisely this f - which fits to the approaches made in other theories that the intension of an expression always be a function from possible worlds to whathever that expression denotes, and according to Moschovakis, it is that function which represents the algorithm of a meaning.
The intension of a predicate then is a function which is, again, applied to a possible world and returns as value the set of individuals that fulfill the predicate in that very world.
You could theoretically do the same for individuals, but assuming that proper names be rigid designators (i.e. that a name will always refer to the same indivudal in any world or situation; although one could argue against this) this maybe seems not as intuitive.
Altough there was no actual definition of an algorithm at the time of Frege yet, his writings suggest that he did have an idea of what an algorithm is, and that this might correspond to what he had in mind with his sense and denotation.
I find the idea of the sense of an expression being an algorithm you have in your mind which allows us to derive the specific denotation/value in any situation is a really elegant way to capture the two notions.
Another (subjective) comment on Dominik Lukes' answer:
I wouldn't say that both of the distinctions produce more prolbems than they solve.
It is crucial to distinguish the expression (the signifier) from its denotation (the signified) - in fact, without that distniction, you wouldn't really be able to do any semantics, if you can't compare a term with its meaning because you assume that they are actually the same.
And the notion of intensionality (Sinn as opposed to Bedeutung) has had a huge impact on semantic theory, most of which I find not too implausible.
For example, how would you account for propositional attitudes like "John knows that grass is green" if you are not able to distinguish between the general sense of an expression and its reference in a specific situation? You clearly can not just restrict yourself to extension, because then, as long as John knows something that is true, everything with the same extension would automatically be in the set of things he knows - and clearly, John won't know everything that is true just because he knows one thing that is true, but this is exactly what you would get if you assumed that there is nothing more of a meaning to an expression than its denotation in the actual world.
And how would you do modal logic, if you can not talk about possible worlds? There would be no way to account for notions like possibility or necessity, which I think is not unimportant to talk about in both linguistics and related fields like philosophy.
On the other hand, you can also not just restrict yourself to just the sense of an expression - knowing what must in general be the case for it to become true or to have an idea of what properties apply to it doesn't help much if you aren't able to compute its meaning (its denotation) in an actual world; you woldn't be able to make simple judgements as "It is true that the sun is shining" in a close to systematic way if you have no way to account for the actual meaning in a given situation of something that was said.
I would claim that sense and denotation can indeed been told apart to a certain degree, and when there are two different concepts, there should be two different names.
So although such notions are of course always hard to capture, I really wouldn't say that the distinction brings more disadvantages than benefits.
But probably this is something one can have a lot of different opinions about.
My explanations presuppose a highly truth-functional approach to natural language semantics; I am aware that one could try to account for the two concepts in a completely different way, e.g. by cognitive semantics making use of more psychological evidence, and that there is a lot of criticism one could impose against such a bare truth-functional/set-theoretical/formal-logical account of meaning.
I still think that they are not too useless especially when it comes to the actual meaning of very vague terminology; sticking to rather strictly defnied entities like functions, sets and truth values often helps to disambiguate between notions that are hard to capture concisely.
Sidenote on the correct translation of Sinn and Bedeutung:
It is true that the translation of the terms Sinn and Bedeutung is not as easy.
Actually, I would argue that the English set of terms is a more suitable one: Bedeutung is, in ordinary language use, mostly understood as something more intensional, while denotation makes it clear that we refer to a particular instance of that meaning in an actual world.
Sense is a direct translation of Sinn, and probably more staightforward to interpret, although sense is probably not something you would find a lot in the terminology of more recent semantic research.
The paper I referred to:
Moschovakis, Y. N. (1994). Sense and denotation as algorithm and value. Lecture notes in logic, 2, 210-249.