The servo is hunting round trying to hold an exact position. After detach() it no longer gets a control signal so it isn't trying to hold any position any more.
That sort of works if the servo is just sitting there not driving anything as in the video BUT if there is any load on the servo it is no longer trying to hold its position and the load can cause the servo to move. Not what you normally want.
Other things that can help include using a separate power supply for the servo not trying to run it from the Arduino 5V pin, being careful with the servo wiring (no breadboards, no croc clips). The real solution is to use a better quality servo. SG90s are cheap and mass produced and many of the ones you buy turn out to be even cheaper copies of the real TowerPro SG90.