Cleaning Your Code and Creating Style Sheets
Not everyone out there uses Microsoft's Internet Explorer browser. It's still more popular than all the others combined, but it's been losing market share as Macintosh users have migrated to Safari and Windows and Linux users have begun to move to browsers like Firefox and Opera. Why is this movement away from IE something to think about when it comes to optimizing your website? Because what you see when you look at your site in IE may not be what others see when they use different browsers.
Using Compliant Code
Internet Explorer, at least up to and including version 6, is not compliant with the World Wide Web Consortium's specifications for HTML and XHTML. Because IE was the browser for a long time, web designers would use code that worked in IE, without concerning themselves with whether that code was technically correct. However, with the rise of standards-compliant browsers, code that looked fine in Internet Explorer is often found to be an utter mess. The proper way to create a web document is to use valid code and test it in a compliant browser. Once the page looks the way you want it to and is either completely valid or at least as close to valid as you can get it, it should then be tested in IE. Utilizing this method, you can feel secure that the code you're using is not likely to break in the future.
Tables Are Not For Layout!
Most websites are designed using tables for layout. It's convenient, because it makes it easy to see which elements go where on the page, and if you're using a WYSIWYG ("what you see is what you get") editor like FrontPage or Dreamweaver, it's easy to split one cell into many or merge many cells into one. However, tables were never meant to be used for layout of pages. The table element's real purpose, as the name indicates, is the tabular display of data. Is that a reason not to use tables for layout? That's a matter of opinion. To some people, it doesn't matter what an element was designed for. If it works, it works.
However, it may not work the way you expect it to. Different browsers interpret tables differently. Empty cells may not take up the amount of space you expect them to, and backgrounds may not appear the way you thought they would. Moreover, using tables to lay out your pages makes your code extremely dense, and that means that over time, it will become more and more difficult to update the page without breaking it. This problem increases dramatically if your layout requires you to nest one table or more inside another.
Another problem with the use of tables for layout is that your content is broken up by your layout. This is probably not a problem for search engine spiders, but for people who browse the internet using screen readers, it turns your page into a jumble with absolutely no logical flow.
Cascading Style Sheets
With cascading style sheets, we can reduce the amount of code on your pages while ensuring a consistent look and feel across the site. The style sheet will control formatting and positioning, and the HTML will only be used for content. Pages will load faster, they will be easy to go through with screen reader software, and they will display consistently across all modern browsers. This method also makes it significantly easier to update and expand your site, even if you don't know HTML. You simply have to enter your content into the proper tags -- headings, paragraphs, etc. Allowing me to clean up your code and create or expand your CSS means that you won't need to use me as an overpriced webmaster in the future, and you won't have to worry about breaking your pages whenever you need to change some of the content.
How will this improve your rankings?
It probably won't have any effect on your site's rankings. Search engine spiders are quite capable of ignoring the garbage on a page and finding the content, so unless your code was so bad that it was trapping spiders, or so heavy that spiders couldn't get through it, these changes are not going to push your site up in the search engine results. However, assuming your website will not be finished when I'm finished with it (believe me, websites are never truly finished) making changes like this will save you considerable time and money in the future. In addtion to that benefit, think of the savings in bandwidth usage you'll experience if your pages are half as large as they had been.