When it comes to writing code on the Force.com platform, you really had one option: Eclipse. (Or the Eclipse-based Force.com IDE.)
Joe Ferraro was someone who wanted more options when creating Force.com applications, so instead of complaining about it, he took the initiative to actually do something about it. From that, Mavensmate was born.
Built as an add-on to the TextMate applicaiton for the Mac, MavensMate is a TextMate bundle that aims to replicate the functionality of the Eclipse-based Force.com IDE.
* Create & Edit Salesforce.com projects with specific package metadata
* SVN & Git support
* Create & compile Apex Classes, Apex Trigger, Visualforce Pages, and Visualforce Components
* Compile and retrieve other Salesforce.com metadata
* Run Apex test methods and visualize test successes/failures & coverage
* Setup deployment connections & deploy Salesforce.com metadata to orgs
* Create "changesets" for easy deployment (alpha)
* Supports code completion for SObject fields & Apex primitive methods (alpha)
(A majority of the text above was taken straight from the description on the MavensMate repository on GitHub: https://github.com/joeferraro/MavensMate#readme