Because no editor is perfect. They all have annoyances that you notice after using them for long enough. I bounce between TextMate and Emacs for that reason.
TextMate can't indent properly because it doesn't actually parse code. If a function call or condition spans a couple of lines and you indent things nicely the following line will be indented to the level of the first char of the previous line, not the proper indent level. e.g.
if (something.fooBarBlah('hello there') && something.someOtherMethod(42) &&
theFinal.condition('here'))
However TextMate makes it really easy to jump around a project w/ Cmd-T and Cmd-Shift-T. ido for Emacs gets me most of the way there but it's not quite the same.
But then I want to split a window and I can't do that in TextMate, I can only open new windows. So back to Emacs I go. Until I want to search a project. Using grep gets old so I go back to TextMate. Then I get bitten by TextMate's crappy file cache which sometimes doesn't show all results or shows invalid results that have changed since it last cached those files. It's really annoying so sometimes when refactoring I have to grep anyway just to be sure I found everything I searched for.
I get fed up with both of them depending on the task at hand, so I use both. Neither is perfect, that should be pretty easy to understand. I don't think any editor is perfect.
edit: js2-mode for Emacs is fantastic. You get syntax highlighting to warn you about accidental globals (very easy in JS), statements w/ no side effects, and other semantic errors. I wish TextMate had that too.
Emacs could really use the concept of projects and something like TM's project browser. Unfortunately the file trees that exist for Emacs are pretty bad (vim too, imo).
It goes back and forth like that. I think the only real way to have a perfect editor is to put a huge amount of work into creating one tailored to your individual needs, whether you start from scratch or start with Emacs or vim.