Because browsers are created by different companies they all render CSS styles in different ways. Most CSS selectors will look similar, but more advanced CSS3 styles are often problematic when testing in different browsers.

There are a few ways to deal with this.

You can write separate stylesheets for separate browsers. This is an advanced method which requires some JavaScript to determine what browser is being used and then loading the appropriate stylesheet. Here's a good turoial on that method: multiple style sheets.

For simpler websites, you can use specific properties to account for different browsers.

Those properties look like this:

-moz-border-radius: 6px;
-webkit-border-radius: 6px;
border-radius: 6px;

Or more complex:

-moz-transform: scale(1.6);
-ms-transform: scale(1.6);
-o-transform: scale(1.6);
-webkit-transform: scale(1.6);
transform: scale(1.6);

There are a lot of web services which will compute these properties for you, like Prefixr.

A good example is font, which looks really different in different browsers. This is a good explanation of how different browsers render font, and how to accommodate the differences: Font rendering.