Why vundle requires filetype off

You can set filetype on after the last Vundle command:

 filetype off                   " required!
 set rtp+=~/.vim/bundle/vundle/
 call vundle#rc()
 ...
 Vundle 'blabla'
 Vundle 'blabla2'

 filetype plugin indent on   " re-enable filetype

I wanted to address the why part of this problem.

Most of this answer is from the following github thread

https://github.com/VundleVim/Vundle.vim/issues/176

It is Vim's feature.
Vim makes cache for filetype plugins from runtimepath. So if vundle changes runtimepath, it must reset before calling.

It's also said there that this problem was only there before 7.3.430.

As @Maxim Kim has answered, its better to turn it on after everything related to Vundle

set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

" Let vundle manage itself:
Plugin 'VundleVim/Vundle.vim'
" Syntax checking plugin
Plugin 'scrooloose/syntastic'

call vundle#end() 

filetype plugin indent on " Filetype auto-detection
syntax on " Syntax highlighting