The spring_layout is used as a default if you don't specify a layout.
So that is not the problem here.
I think you just got incredibly unlucky in trying your example. If you
use 499 nodes instead of 500 it works fine. 501 works fine. 500
somehow puts all the points at [0,0] so the drawing looks like a
single node with 500 superimposed labels on it.
Maybe the spring_layout routine can be tweaked to make this bug not
happen. Thanks for reporting it.
Most of the time you should get a reasonable (if really messy and
hairball-like) picture of the graph.
Dan