• I wish I had a good link detailing all of this.

    Bottom line is that they are not the same and each have better use depending on the case.

    My bottom line is that unless I want to log something locally that won't be affected by a rollback, I'll always default to temp tables. The main factor is that you can have statistics on temp table and more than 1 index. The real benefit of this is that your execution plan will almost always be more optimal with temp table than table variable.