Three reasons for me.

1) The power of the editor. Lot's of great resources to learn more about it on the web or in vim itself. I learn something almost every time I read an article about it or watch a screencast. The learning curve is steep at the beginning, but totally worth it. I bookmark a lot of them on delicious:

http://delicious.com/claytron/vim

2) Portability. I use the same configs on FreeBSD, Arch Linux, Debian, Windows and OS X. I'm not tethered to an OS anymore for my fancy editor anymore (read TextMate). Not only is it portable, but it works mostly the same from the command line as it does in the GUI version. Having a full fledged editor on a remote machine is priceless :)

I made the switch about 6 months ago after switching to Linux for my dev environment. The only other editor I would consider using is emacs, for the same reasons.

3) The crazy world of vim. It's not just for writing code, I use vim everywhere possible now. Command line is bound to vi bindings, Vimperator in Firefox, It's all text to edit the web and external editor in Thunderbird to write emails. In fact, I'm writing this in vim right now :)