A poison message is a message that is sent to the queue or topic that the consuming application cannot process correctly.
Both support poison messages but Azure Storage Queue does not support automatic dead-lettering.
This means that:
in Azure Service Bus you can set expired messages to be moved into a DLQ for later processing,
messages with a TTL value that expire in Azure Storage Queue will be deleted permanently.