Я бы посчитал это специфичным для домена. Если вы пишете моральный эквивалент пинга, протокол без гражданства является правильным выбором. С другой стороны, если вы пишете VNC, отслеживание состояния - это, безусловно, верный путь.
Что касается того, когда выбирать, какие из них следует учитывать. Во-первых, хотя варианты реализации либо / или, проблемное пространство является континуумом. У всех задач в реальном мире есть хотя бы небольшое состояние, вопрос в том, сколько их стоит, и стоит ли их преодолевать, стоит того, чтобы отслеживать их с обеих сторон. И второе, вы обычно имеете дело со стеком протоколов, а не с одним протоколом; убедившись, что все живет на должном уровне, можно чрезвычайно упростить вещи.