Я вижу, что люди делают оба, я никогда не делаю bundle перед моими командами, любопытно, в чем причина:
Ответ 1
bundle exec выполняет команду в контексте пакета.
Эта команда выполняет команду, делая все драгоценные камни, указанные в Gemfile доступными для запросов в программах Ruby.
Очень полезно, когда у вас много приложений с различными версиями драгоценных камней, используемых в них.
Дополнительную информацию см. В документах: http://gembundler.com/man/bundle-exec.1.html
Ответ 2
bundle exec запускает команду после нее в среде Bundler. Так скажите, что у вас был рейк 0.9 в вас Gemfile, но рейк 10 установлен в RubyGems. bundle exec rake будет запускать рейк 0.9 вместо рейка 10.