WordPress does a handful of HTML clean-up tasks when you submit your post. Here are a few:
- “Texturize” the special characters
- Automatic paragraphs – for carriage returns
- Emoticons
- Special characters (like “&” and “<“)
- Removing script tags and other “unsafe” stuff
You will want to investigate the Raw HTML plug-in which has some great provisions for putting some or all raw HTML in your pages and posts.
There is an alternative way to disable the HTML filters – by adding a privilege to your users called “unfiltered_html”. In this way you can allow for unfiltered HTML by user role. There are also some excellent plug-ins to add this to any roles you’d like – User Role Editor.