I don't know that it's worth learning unless you work in a UNIX environment. I myself use it in Windows precisely because I can't be bothered learning another, different-but-no-better text editor. Is it worth learning from scratch if you live in Windows? I honestly don't know. In UNIX, of course, the historical reason for knowing vi (and ed, its line-editor cousin) was ubiquity. It's less of an issue these days - the odds of vi being your only choice are, I daresay, slim.
The downside is that its UI is ancient and wierd.
If I had to make a recommendation, it would be to learn the very basics. It won't take long and it might come in handy one day.