Thanks Steve, good question.
My take on it is that "begin tran --- rollback" = "Oops"
On a more serious note, many do not understand the difference between SET and SELECT in this context, if one changes the code to:
DECLARE @salary INT = 1000;
SET @salary = @salary * 2;
then the result will be 2000, as the SET statement is NOT a part of the transaction, even if it occurs within the BEGIN - END section.