This doesn't really answer the question, but might help you with your investigations...
By setting the system option "VisualizationOptions" -> {"Verbose" -> True} you get all sorts of information printed about the plotting process. The code below intersperses that output with the actual sampled points (shown as ListPlots), showing the initial sampling and multiple refinement steps. There are numerical parameters associated with the refinement steps - they mean nothing to me but perhaps an expert could infer something about the algorithm.
plotinfo[func_, {from_, to_}] := Module[{a, f, g},
SetSystemOptions["VisualizationOptions" -> {"Verbose" -> True}];
a = SplitBy[Reap[Block[{Print = Sow[f[##]] &},
Plot[func[x], {x, from, to}, EvaluationMonitor :>
Sow[g[{x, func[x]}]]]]][[2, 1]], Head];
SetSystemOptions["VisualizationOptions" -> {"Verbose" -> False}];
a[[2 ;; -1 ;; 2]] = f@ListPlot[#, Filling -> Axis] & /@ a[[2 ;; -1 ;; 2, All, 1]];
a /. f -> Print;]
The arguments are a function to plot and a range, e.g.
plotinfo[Tan, {0, 10}]
This is just a snippet of the full output:

ListLinePlot @@@ (Reap@Plot[Sow[x] x, {x, 0, 1}]– Dr. belisarius Jan 22 '13 at 19:11Plot's ways... Thanks! – kjo Jan 23 '13 at 01:45