CSS/Tables
tables are good for if you want everything in columns, divs are better for placing everything exactly where you want it. the problem with css/divs is that different browsers and different resolutions can display it differently. it depends on what style of site you want to make as to which to use really.
You have to use tables, to make your contents are equal in length, so that you won't have a text box is not aligned as the one's previous, for instance, regard those as two text boxes, they've to be parallel, for more "good-styling" :
<tr><td> for :
Username |-------|
</td></tr>
<tr><td>
Password |-------|
</td></tr>
Style your table with CSS. There's no good HTML document, without CSS embedded. Play with margin, and paddings.
You should replace simple tables with CSS:
http://www.vordweb.co.uk/css/replacing-tables.htm
http://www.alistapart.com/articles/practicalcss/
CSS is good when used in an external file, because it goes in the cache of your web browser. If well done, it will load faster than <table>. You can also use the same CSS on multiple pages, and since it is already in the cache, users will not need to redownload it.
<table> is useful when you have a lot of data that need to be aligned. It can become tricky to do so with CSS, and especially when the data is generated by a server side script.