From doxygen for c++ client at present:
reliability - indicates the level of reliability that the receiver expects. Can be one of unreliable, at-most-once, at-least-once or exactly-once (the latter is not yet correctly supported)
unreliable and at-most-once are currently treated as the same and for a receiver they will mean that accept-mode=none is used (for 0-10) and in the case of receiving from an exchange an auto-deleted subscription queue is used meaning that messages can be missed during failover or otherwise when not connected. For senders these mean that an outgoing message is no longer considered pending when it has been written to the wire (regardless of whether the broker has yet received it) [Note: in the current c++ client impl this is not possible and a temporary workaround will be put in place]
at-least-once uses accept-mode=explicit (0-10) for receivers and a queue that is not deleted when the session is lost for topic receivers; for senders it results in a replay buffer being maintained and messages replayed when a disconnected connection is reconnected (e.g. on failover).