Basically, CSS positioning allows you to clean up your code so that the positioning of the code itself within the document does not match the exact rendering on the browser. So if I wanted the body content of this page to load before the side navigation of this page, or the header of this page, I just position the code in CSS to come first. It is good for many reasons but in terms of SEO it is good because the search engines read your body copy first. Since they can read the body copy first, the search engines will most likely get all your relevant copy (most engines cap off how much a page they read (xK). Also, since the copy is at the top, many search engines apply more on page weight to that copy, hopefully giving your page a slight boost in the rankings.

Now if you hide the content with CSS, then that is an other story. Positioning the content is not spam.