I picked up vi because I was stuck doing development over SSH from my college's public computer lab when my PC died. I stayed because once I'd learned the keystrokes, it really was a pretty decent editor. I think that Eclipse/TextMate/Gedit/etc. have some nice points and are definitely better in some respects (like, say, visual presentation), but vi is Good Enough and available basically everywhere.
I probably should learn a bit more.
I could name a very long list of things that are ubiquitous, yet are not nice at all.
However, when developing locally on a relatively modern machine it does not feel any faster at performing basic tasks than other text editors. vim being optimized to run over 300 baud connections is not an advantage in what many consider normal, daily use.
The sky is the limit with programmable editors like Emacs and vim. Like general purpose hardware and OSs, neither can do anything that the other cannot do. Emacs does have an edge but in practice people have been able to make vim do just about anything.