I know this is a newbie question, but most of the bugs Im having are related to this:
when should we use each one of them? and when we shouldn't?
Well primitive roule, whenerver you change something in the scnegraph update the renderstates (adding,detaching,ect, i mean not moving and rotation ect ^^)
well when you want to update a geometric state, normally the main game loop will do this at the rootnode (or dependin on type you have to do this), so it is only needed very rare manually.