В бандлере есть подвох.
Да, Бандлер ставит указанные в гемфайле версии.
Но:
1) ставит их глобально
2) не контролирует использование нужных версий
То есть контролировать может, но для этого перед каждой командой нужно писать bundle exec
-иначе гемфайл игнорируется, и используются последние версия гемов, установленные глобально.
А вот с gemset'ами гемы ставятся локально под каждый сет, и есть гарантия использования нужной версии гемов.