States are what Magento uses internally to understand the position of the order. States are defined in XML in the global/sales/states node:
<states> <new translate="label"> <label>New</label> <statuses> <pending default="1"/> </statuses> <visible_on_front>1</visible_on_front> </new> <pending_payment translate="label"> <label>Pending Payment</label> <statuses> <pending_payment default="1"/> </statuses> </pending_payment> <processing translate="label"> <label>Processing</label> <statuses> <processing default="1"/> </statuses> <visible_on_front>1</visible_on_front> </processing> <complete translate="label"> <label>Complete</label> <statuses> <complete default="1"/> </statuses> <visible_on_front>1</visible_on_front> </complete> <closed translate="label"> <label>Closed</label> <statuses> <closed default="1"/> </statuses> <visible_on_front>1</visible_on_front> </closed> <canceled translate="label"> <label>Canceled</label> <statuses> <canceled default="1"/> </statuses> <visible_on_front>1</visible_on_front> </canceled> <holded translate="label"> <label>On Hold</label> <statuses> <holded default="1"/> </statuses> <visible_on_front>1</visible_on_front> </holded> <payment_review translate="label"> <label>Payment Review</label> <statuses> <payment_review default="1"/> <fraud/> </statuses> <visible_on_front>1</visible_on_front> </payment_review> </states>
Status
A status is used to understand in more granularity for the store owner (or custom application) what position the order is in.
Statuses are created in the admin area (System > Order Statuses). Each created status can be assigned a state; ** state is a child of status **