It is the order of evaluation. Without Evaluate, Plot[D[Log[x], x], {x, -1, 10}]
is problematic because the values of x are inserted into the expression D[Log[x], x]
before it is evaluated, yielding the meaningless D[Log[-1], -1]
.
In the example Plot[{Log[x], Evaluate[D[Log[x], x]]}, {x, -1, 10}]
the Evaluate is detected by the Plot algorithm, although it is not at the top level.
I think that the problem with
Plot[Table[Evaluate[D[Log[x], {x, i}]], {i, 5, 20}], {x, -1, 10}]
is that the Evaluate is not detected by Plot before the problem can occur. Just move the Evaluate outside the table, and it will be detected:
Plot[Evaluate[Table[D[Log[x], {x, i}], {i, 5, 20}]], {x, -1, 10}]