BBEdit has been the definitive text editor for the Macintosh platform for as long as anyone can remember. It was originally developed by Rich Siegel who founded the parent company Barebones Software. To get proper perspective, let's look a major version history1:
1994 v3.0 (PowerPC support!)
2001 v6.1 (Mac OS X native!)
2006 v8.2.5 (current version as of this writing)
Not only does this go back well before Mac OS X, it predates OS 9 and OS 8 as well, reaching all the way back to the venerable System 7. Since there is no known history of versions 1 or 2.0 we date the development even further back to the dark, pre-multitasking, 9" black and white screens of System 6. During the intervening 15 years or so BBEdit has had the luxury of very little competition. Probably because there wasn't a great deal of demand for text editors on the Mac.
BBEdit found its niche as an HTML editor early on. Other uses such as programming were mostly filled by full-fledged IDEs such as CodeWarrior or (more recently) XCode. Non-programmers simply used a word processor. However the HTML editor market exploded right when BBEdit was coming into its prime, and Barebones built a comprehensive base of features that solidified it as the Mac text editor monopolist.
BBEdit is a unique mix of industrial-strength features and Mac-like easy-to-use functions. Some of the highlights:
The first drawback of BBEdit is that its interface was designed a long long time ago and hasn't really been updated to handle the proliferation of features. The worst example of this is the preferences window which has dozens of panes that are not well organized and require rote memorization to really use effectively. After 10 years of using BBEdit I am pretty good at finding stuff, but it's still nowhere as easy as it should be.
The BBEdit interface is saturated. The product is mature, but it feels like it has nowhere to go. The kind of advanced functionality that is possible in the hard-core unix editors (vim and emacs) seems just beyond the reach of BBEdit. For simple HTML generation BBEdit is still a top choice, but for anything more codish than that BBEdit is destined to fall flat.
BBEdit has a long history and a loyal userbase—and it still has a number of unique features that make it the right tool for a lot of jobs. However, the landscape of shareware-type Mac applications is very different from 5 years ago. Almost every application that existed under OS 9 has been supplanted by a brand-new OS X app with a juicy icon and a trendy website. Of course this doesn't go for the truly professional apps with hundreds of thousands of development hours behind them. The Photoshops and Offices can not simply be replaced overnight. BBEdit is sort of on the edge of this category. It has enough functionality to not be easily replaced, but it doesn't have any innovation on the horizon either. They've left the door open.
The primary challenger is TextMate. Sure, OS X has vim and emacs, but TextMate merges Unix philosophy with cutting edge use of Cocoa. Even though BBEdit has tons of features that TextMate doesn't have or implements poorly, TextMate has underlying features and supports customizability that the BBEdit architecture can not implement without a complete rewrite. I'm sure the developers over at Barebones are pointing to this and that little feature2 trying to convince themselves that TextMate doesn't have what it takes to supplant BBEdit, but deep down they're worried. Real worried.
1 Chronology from http://www.barebones.com/company/history.shtml
2 The only reason I still keep BBEdit around for dealing with text encoding and line-ending issues.