The sale shipment represents a single shipment for a sales order and moves through a life cycle starting as Editable, going to Packed (if required), and then to Shipped. At any point a sales shipment can also be Canceled which voids any modifications to stock levels made by the shipment. A sale shipment can never be reverted to a previous state - if you need to change a packed or shipped a sale shipment then the shipment must be canceled and replaced with a new shipment using "Add new shipment" menu item on the sales shipment screen.
An Editable shipment starts out with no products and can't be packed or shipped until it contains at least one item that contains a product, non-zero quantity, and sub-location. The Update shipment to match order action (blue link in the middle of the sales shipment screen) will add items for all products in the order that haven't yet been shipped based on the stock levels on hand at the sale shipment location.
Once ready, the shipment can be moved to the Packed status or the Shipped status. The Packed status is not required unless you pack shipment in advance of shipping them to the end customer. For example, if you typically pack palettes and then store them for a days or weeks before loading them on a truck you would probably want to use the Packed status. If you typically pack cartons and immediately send them via a package delivery service you would probably want to just move Editable shipments directly to the Shipped status.
Move the shipment to the Packed status using the Pack shipment button. This will ask you the date the shipment was packed, the number of boxes in the packed shipment, and the sub-location the packed shipment will be stored at. The sub-location entered becomes the packed sub-location and the status will change to say something like "Packed 10/12/2014 (2 boxes at M1)" where M1 is the packed sub-location. Once a shipment is packed and before it is shipped, it can be transferred to another sub-location using the Transfer shipment button. This will update the packed sub-location for the shipment, and maintain a record of all the sub-locations the packed shipment was between when it was packed and when it was shipped.
Move the shipment to the Shipped status using the Ship shipment button. The Ship shipment button is available for shipments both in the Editable status and the Packed status.
Stock levels for items on the shipment are updated effective the date the shipment is packed (or shipped if not using the Packed status).