Are you using a WYSIWYG editor? If you are, that can explain it. The goal when writing an HTML newsletter is to use simple HTML formatting (no css, javascript, etc.). Not to mention, WYSIWYG programs tend to add a lot of unnecessary code which can always throw off your intended look and design -- especially when creating newsletters.
In fact, to make it easy and save hours of work, you can download a pre-formatted newsletter template to get you started. All you have to do is tweak it until you're happy (I like to use notepad for this). You can replace the template's images, links and text with your own. If you're not comfortable with HTML, you can always download free
Microsoft newsletter templates for use in Word and Publisher.
Here are some sites that offer free newsletter templates-
http://www.mailchimp.com/resources/html_email_templates/
http://desktoppub.about.com/od/newsletters/tp/Free_Newsletter_Templates.htm
http://www.interspire.com/templates/free-newsletter-templates.php
http://www.campaignmonitor.com/templates/
Good luck
