The pipeline steps are run sequentially. When a pipeline step fails for any reason, the item is re-queued and the full pipeline will be re-run on that item. If processing fails persistently (10 times by default) the item is dropped from the pipeline.
Some errors are handled by adding an error code to the item. The known error codes for this are documented in the Processing Error table.