О Версионировании (Semver, SNAPSHOT и т.д.) - rsajob/docs GitHub Wiki
Стандарт Семантическое Версионирование
Что такое метка SNAPSHOT в версии и для чего она нужна.
Если дословно, то это версия проекта, которая разрабатывается прямо сейчас.
Особенность в следующем: Если версия стабильна, значит она уже не разрабатывается, то есть ты забрал версию 2.1 и все, больше ее не трогаем. Если же библиотека еще в разработке, то каждый день могут появляться новые фичи, искореняться баги, поэтому тебе нужна всегда свежая версия разрабатываемой библиотеки, что и позволяет сделать обозначение SNAPSHOT. То есть предполагается что при обновлении зависимости инструмент (maven, gradle) будет каждый раз загружает эту библиотеку заново.
В процессе релиза происходит переключение версии (с убиранием суффикса SNAPSHOT) с последующим deploy и публикацией в репозиторий. После этого версия увеличивается на 1 и добавляется суффикс SNAPSHOT. Оба изменения версий сопровождаются коммитом.