Most of my decisions are pretty forced. I don't use Eclipse or Gedit because they were crashing my computer. I don't want to spend time learning vim, and am skeptical of it because I read bad things about modes in UI books.
For me sublime text 2 just got the basics right: black background, tabs, text completion, no crashes. The only feature I really appreciate that seems unusual are the pinstripes denoting tab characters
I don't have a problem with Vim's main modes, because I always know what mode I am in. Not only is the name of the current mode always in the bottom-left of the window, the cursor also looks different depending on whether I am Insert mode (vertical line) or Normal mode (rectangle). I suspect that your UI books warned against modes where the user might forget what mode they are in.
However, you also go into another mode when you enter the beginning of a multi-key shortcut (such as 'ma' to mark the current location with label 'a'). This is indicated at the bottom-right of the window by showing the keys you have typed so far (such as 'm'). Since that is the only indicator, sometimes I have accidentally forgotten I was in this mode. So that can be a problem. But it's easy to undo mistakes - just press 'u' in Normal mode, or Ctrl-O if the effect was moving the cursor. And if I know I'm in some weird mode and just want to get out, I can just mash Esc, and that always brings me safely back to Normal mode.
Of course, the reason Vim has modes in the first place is to give modifier-key-less ways to access a lot of functionality. I think the modes are overall a good thing. It's very nice to be able to edit and rearrange text with so few keystrokes and no need to move your hand to the mouse.
But configuring Vim so it works well can be a large pain. I've been using public computers to program a lot recently, so I've been using Sublime Text 2 on those, because of its good defaults and cross-platform nature. I hope to soon upload my Vim configuration files online so I can use it on other computers, but first I have a bunch of bugs in my configuration I have to fix. That's where I envy Emacs for having a good configuration language.
For me sublime text 2 just got the basics right: black background, tabs, text completion, no crashes. The only feature I really appreciate that seems unusual are the pinstripes denoting tab characters