Aegisub was originally created as a tool to make typesetting, particularly in anime fansubs, a less painful experience. At the time of the start of the project, many other programs that supported the Advanced Substation Alpha format lacked (and in many cases, still lack) many vital functions, or were too buggy and/or unreliable to be really useful.

Since then, Aegisub has grown into a fully-fledged, highly customizable subtitle editor. It features a lot of convenient tools to help you with timing, typesetting, editing, and translating subtitles. In addition, it provides a powerful scripting environment called Automation (originally mostly intended for creating karaoke effects, Automation can now be used for many other things, including creating macros and various other convenient tools).

Highlights

Simple and intuitive yet powerful interface for editing subtitles

With help from such features as spell checking/thesaurus, a translation assistant, call tips for override tags, syntax highlighting, and various macros, translating, editing, and quality-assuring subtitles are now easier than ever. (For big projects, you might want to consider using a CAT tool like OmegaT or Smartcat to first translate the source content)
Made a mistake? Had a system crash? Don’t worry. Aegisub saves your .ass with features like multi-level undo/redo, auto-saving, backups, and emergency recovery saving in case of system or program crashes.

Support for many formats and character sets

Aegisub doesn’t lock you into using any specific format. Importing and exporting from and to several different formats (ranging from MPEG-4 Timed Text to MicroDVD) is supported.
Multiple language subtitles? Legacy programs without Unicode support? No problem, Aegisub has full support for both Unicode and most common legacy encodings, both reading and writing.

Powerful video mode

Nearly all video formats are supported out of the box. But if that isn’t enough, Aegisub can also use your system’s DirectShow environment to open any format you can play in Windows Media Player.
An automatic live preview of subtitles is updated as you type, showing you precisely what the subtitles will look like in the player.
Full support for variable framerate video and Matroska timecodes. Capable of reading timecodes directly from Matroska files for seamless VFR work.
Problems with anamorphic video? Overscan? Aegisub has the tools to handle it.

Visual typesetting tools

Typesetting on easy mode! No need to manually edit override tags. Drag, rotate, or clip the subtitles directly on the video frame using your mouse.
Want to re-use typesetting on a video of a different resolution or aspect ratio? Can’t figure out what color that sign is using? Aegisub has the tools to help you deal with it.

Intuitive and customizable audio timing mode

Time dialogue or karaoke in any way you want with the heavily customizable audio interface. This is now less painful than ever! Use features such as the spectrum analyzer mode or the automatic timing post-processor for even more efficient timing.
Support for nearly every audio format in existence. And DirectShow support if you manage to find one too obscure for libavcodec.

Fully scriptable through the Automation module

Is all the above not enough? Extend the program with your own macros or export filters using scripting in Lua.
It comes with several ready-made scripts for quick and easy generation of your very own karaoke effects.

Tip: If you need to test your subtitles you can do so in the VLC Media Player.