I read a lot that styling your web page via tables, to have everything lined up how you want is considered bad practice. I don't do it myself but I've certainly seen that around a lot. So I honestly have two questions which I'm sure will be simple to answer.

1) Why is it such bad practice? If it gets the website looking how it's supposed to, what's wrong with it?

2) Despite what is said above, is it still acceptable to use tables with web forms in order to keep it looking nice? So that text boxes and such are lined up nicely and not varied on position on the page?