A poison message is a message containing information that an application cannot successfully process. A poison message is not a corrupt message, and may not be an invalid request.
Service Broker provides automatic poison message detection. When a transaction that contains a RECEIVE statement rolls back five times, Service Broker disables all queues that the transaction received message from, by automatically setting the QUEUE STATUS to OFF. In addition, Service Broker generates an event of type Broker: Queue Disabled.
Excerpted from the following URLs, MSDN. Click on the links to get more detail.
References:
1. Removing Poison Messages, http://msdn2.microsoft.com/en-us/library/ms166137.aspx
2. Handling Poison Messages, http://msdn2.microsoft.com/en-us/library/ms171592.aspx