What's the difference between these two phrases?
To add to Martha's answer:
If "this" is something you could have seen but cannot anymore now (you should have been there seeing "this" at the time, but it wouldn't have the same impact if you see it again now), then "Did you see" is more appropriate.
If "this" is something you can check it out whenever you want, "Have you seen" is more to the point, because it suggests that, if you haven't seen it in the past, you could consider seeing it now or in the near future.
The difference is pretty subtle, but the "did you..." version implies more of an event, i.e. something that needs to be seen just once, perhaps because it's temporary.
Edit: note that there's nothing wrong with "Have you seen last night's episode?", or with "Did you see the movie?", but there is a (slight) difference in meaning.
There is a difference between UK and US usage in this case (though I believe that the difference has been diminishing over the past few decades).
In my (UK) idiolect,
"Did you see this?"
is very unlikely, because "did you see" implies that the opportunity for seeing it has passed, which is inconsistent with "this". Without "this" (eg "Did you see what he did?") the implication is that he has stopped doing it. "Did you see this yet?" is impossible in my idiolect for the same reason.
"Have you seen this?"
implies that you still could see it even if you haven't yet. Thus Martha's "Have you seen last night's episode?" to me implies that the episode is still available in some way and you could still see it. I would not say "Have you seen last night's performance of the play?"
As I say, I believe that this distinction is not there (or at least not as strong) in US English.