Verduka,
1)
The type of differences are shown here
http://www.webreview2.com/style/mastergrid.shtml I guess try to keep things simple, use "safe" tags (eg. <div>, <span> ) that have CSS properties well supported by different browsers.
A common approach, is to use browser detection at the client or server and then determine if you will apply your CSS or not.
eg. if (http_user_agent is IE5.x) {
use nice CSS formatting;
} else {
revert to "old-school" formatting;
}
Sorry this doesn't answer all of your questions, but this is a large topic, there are plenty of resources on the Internet that discuss this in more detail.
My advice is to try things out for yourself, have a couple of different browsers installed on your workstation, see what works and what doesn't.
2)
The inline style attribute only applies to the tag it was defined in, so in the example I gave, if you used another <h1> tag with no "style" attribute it would default to using the global styles set up in the CSS file.
This is can be a rather large topic on how "cascading" of style sheets is applied.
James.