The reason to use numpoints is that it helps evaluate discontinuous or "noisy" graphs more accurately... but then one ends up with a curve that looks worse off visually.
It seems to be aliasing and line thickness. As if there is some check that if numpoints > threshold it doesn't anti-alias it.
It may be that with fewer points maple is building a spline for the points and that it uses a thinner line... but if the points are large enough it just draws the points, and uses thick points. That is most likely going on. I guess I could find the exact threshold:
plot(sin(x),x=1..4,numpoints=2000); <- bad
plot(sin(x),x=1..4,numpoints=1999); <- good
So, in fact, it is 2000. Internally when setting numpoints > 2000 the curve looks to be unaliased.
This almost definitely means that it is an internal issue with plot and numpoints. Anyone can bring this to the attention of the maple dev team?