What does Jesus mean by "this generation" and "all these things" in Mark 13:30 In Mark 13, Jesus tells about the last days and the tribulation. In this context, he says in verse 30 (KJV):


  Verily I say unto you, that this generation shall not pass, till all these things be done.


Assuming Jesus was not wrong, what did he mean then?
This is the matter of some debate, and there are at least three theories about it that I'm familiar with. I actually found a study online that explains all of them here.

Some relevant sections (copied and pasted since the author explains it better than I would):

The one that is popular in my denomination:


  One explanation that is popular among conservative evangelical or
  fundamentalist Christians might be termed the Futurist interpretation.
  In this interpretation, Jesus is said to have been talking about the
  generation alive at the very time of the end, not the generation alive
  in the middle of the first century A.D. Thus, the generation that sees
  the beginning of the fulfillment of end-time prophecies would live to
  see the Second Coming as well.
  
  However, as Gleason Archer has explained,
  
  "This interpretation . . . suffers from the disadvantage of predicting what would normally be expected to happen anyway. Whether
  the Tribulation will last for seven years or for a mere three and a
  half years, it would not be unusual for most people to survive that
  long. Seven years is not a very long time to live through, even in the
  face of bloody persecution.'' 


Another that also has difficulties:


  Another explanation is called the Preterist ("past'') interpretation,
  which asserts that the Olivet prophecies were all fulfilled in the
  first century A.D. This interpretation is more popular among mainline
  Protestant scholars, and is also championed by a handful of Catholic
  scholars as well.


The explanation that, IMO has the fewest difficulties:


  Since there are unsolvable difficulties with both the Futurist and
  Preterist approaches to this conundrum, we shall have to seek a
  solution in a third approach. What if when Jesus used the word
  "generation'' (Greek genea), He didn't mean the same thing that we
  mean? What if He wasn't using "generation'' to refer to a group of
  people all living at the same period of history?
  
  According to Archer, sometimes genea ("generation'') was used as a
  synonym of genos ("race,'' "stock,'' "nation,'' "people''). Archer
  writes,
  ...
  Thus, Jesus' words might be rendered, "This people shall not pass away
  until all these things are fulfilled.'' In that rendering, He could
  have been referring to the Jewish people (which is the most likely
  given the context) or to the Church - for both Israel and the Church
  are given divine promises that they would remain in existence until
  the end of time (Jeremiah 31:35-37; Matthew 16:18).


The last one seems the most likely to me for several reasons:


It's the most simple.  It allows the text to be understood without chronological distortions, and it lets the phrase "All these things" really mean "All these things" - all of the end-time events He had been discussing.
It also makes sense because many of the misunderstandings and disagreements in Scripture seem to come from our tendency to use the current English version without understanding the nuances of the original Greek, Hebrew and Aramaic.  Quite a few of the Bible "discrepancies" can be cleared up by studying the original language.  This appears to me to be one of them.