The shoot() command internally is a combination of shoot-half + shoot full, the "one-for-all" command.
You can also do this manually with the corresponding press/release/click commands, this will give you a bit more control in a script (this is also necessary on some older IXUS series cameras: the shoot() command sometimes does not work correctly there).
E.g. to get the fastest possible reaction with MD (motion detection): first you do a press("shoot_half") for focusing & adjusting the settings - then the script waits until motion is detected & captures the images as fast as possible, without a delay for focusing etc.
You may have a look to fudgey's beautiful "Fast MD with burst/preview mode"
script to see how this method works...
You may also use the "multiple command" method to set your own overwrites after the camera has focused...@fudgey:
I guess the IS (AFAIK all Powershots with IS use a lens-shift type mechanism) can't be controlled as fast as we should do this ??