%n or Out[n] is a global object that is assigned to be the value produced on the n output line.
% gives the last result generated.
%% gives the result before last. %% ... % (k times) gives the k previous result.
Out[ ] is equivalent to %.
Out[-k] is equivalent to %% ... % (k times).
See The Mathematica Book: Section 1.2.1, Section 1.3.3, Section 1.3.4 and Section 2.13.1.
See also: In, $Line, $HistoryLength, MessageList.