My question is simple:  What is the difference between using pygame.draw and pygame.gfxdraw?  I've looked on the pygame documentation, but no one has told what the difference between them is.
The draw function is a bit more stable, and also a bit faster that gfxdraw, although gfxdraw has more options, not only along the lines of antialiasing, but also drawing shapes. pygame.draw has only nine functions, whereas pygame.gfxdraw has 22 options, which include all 9 of the options supplied by draw. I recommend using gfxdraw even though its is "experimental" because it has more capabilities.
Difference between pygame.draw and pygame.gfxdraw