Основным отличием является то, что гем - это то, что нужно установить в системе, в которой работает приложение Rails, тогда как плагин развертывается вместе с вашим приложением. В частности, плагины находятся вендором / плагинами, тогда как гемы должны быть установлены с помощью rake gem install gem_name.
Что касается того, когда использовать каждый из них, то, как правило, легче обновлять самоцветы, но более конкретно, некоторые самоцветы используют собственный код C и скомпилированы специально для данной операционной системы (например, Nokogiri). Они должны быть установлены как драгоценные камни, поскольку они не будут работать при переносе в другую систему. Принимая во внимание, что некоторые вещи, например acts_as_commentable, используют прямой код ruby и могут перемещаться из системы в систему.