Hey Greenery,
I use both Espresso and BBEdit (Espresso for everything but Python, and BBEdit for Python and sometimes Markdown files that cause Espresso’s syntax engine to crash). Comparing the two programs is kind of apples and oranges, since they approach text editing from two very different directions:
BBEdit is a very fully-featured text editor with a long legacy, which means that it is much more complicated to learn and use but also has a slough of useful features. It has, however, almost completely failed to integrate some of the Textmate editing features that form the core of Espresso. BBEdit’s auto-completion and available text editing actions feel very old school to me; I rarely use anything beyond its “words in the same document” completion (which is incidentally something Espresso lacks). The reason I use BBEdit for Python is twofold:
1) BBEdit can display invisible characters and Espresso can’t (if you haven’t use it before, whitespace in Python isn’t just for visual appeal so it’s important to know whether there’s spaces or tabs there, for example)
2) BBEdit has a number of things built in that make editing a scripting language like Python easier, like the ability to run a script immediately via a menu item and have any errors captured captured and formatted in a nice-looking window (this could be added to Espresso using a Sugar action, but I haven’t taken the trouble)
The reason I use Espresso for absolutely everything else is also twofold:
1) Espresso’s basic text editing is derivative of Textmate’s, which is a vast improvement over BBEdit’s in my opinion. This means that coding in Espresso feels right to me, while coding in BBEdit is often counter-intuitive (how do I use zen coding? Aargh!)
2) Espresso is visually simpler and more attractive and far easier to extend, whether by adding custom text snippets, custom actions, or a custom theme
If you buy BBEdit, you will probably be able to do almost anything you’d want to in a text editor, but for the things that you can also do in Espresso BBEdit will be more complicated, less visually appealing, and harder to find the features in the first place. On the other hand, the editor is solid as a rock (though Espresso rarely crashes on me any more, I have occasionally come across files that kill its syntax engine, particularly if they embed a language within another language).
If you buy Espresso, you might sometimes find yourself wishing for a feature that BBEdit provides out of the box. However, Espresso is easy to extend (if you think Espresso Sugars need documentation, try creating a new language definition for BBEdit), and for the features that it does provide it is far more cohesive and well-designed than BBEdit.
As Joey suggested, the only way you’ll really know which is right for you is to try them both, but hopefully this will give you something to think about while you do so. 
Also, a final note: for a long while Espresso had no integration with CSSEdit, but as of 1.1 or so you can right click a file and choose “Edit in CSSEdit”, which is really handy. I do this pretty much daily; CSSEdit for the heavy CSS lifting, and Espresso for editing other files, uploading to the server, etc.