Starting the Desktop manager through a "service start" starts xinit(XServer), then the desktop manager (Lightdm, etc.), then the Desktop environment(Gnome, etc.)
The Startx script "resets" all the graphics variables to default, sets up a default Xauthority, then calls .xinitrc then xinit... then starts the Desktop environment.(*)
*- Note that since startx assumes you already have to be logged in to call it from the commandline, so that major difference is taht it "skips" the graphical loggin.