I can see that stateful protocols lead to less botched together 'emulated state' like cookies.
but testing becomes a lot harder to ensure that your implementation is correct and reconnects, and session continuations can be very hard to handle.
Is it considered better practice to always use stateless protocols, or is it really domain specific?
I think that authentication becomes easier when dealing with stateful protocols, but are there any other reasons you should use a stateful protocol?