Efficiently perform multiple similar updates
One of the nice things about INNER JOIN syntax is that it actually allows you to separate filter criteria from join criteria. The two statements in your question could be collapsed into a single query as follows:

UPDATE t1
SET t1.foo = temp.newFoo,
    t1.bar = temp.newBar
FROM dbo.Table1 t1 -- please always use schema qualifiers
INNER JOIN @TempTable TEMP 
  ON TEMP.baz = t1.bar
INNER JOIN dbo.Table2 t2 
  ON t1.thingId = t2.thingId
WHERE (TEMP.moveMessages  = 1 AND t2.type = 'M')
   OR (TEMP.moveDocuments = 1 AND t2.type = 'D');