As I've argued before, input filters and text formats are an unglamorous but vital part of a Drupal site. There are a great many filters available as contributed modules which you can add to your site to increase its functionality - I'm rather partial to one called
Pathologic, which was my first contributed Drupal module, and is still going strong - but what if you can't find one which suits your needs and want to write one of your own?