CSS was designed to improve web page layout by separating presentation from layout. By separating content (HTML) from presentation (CSS) there is looser coupling from a computer science perspective. The whole idea is that you can change the layout of the entire site by changing the CSS without any changes to the content. The problem is to get anywhere beyond the basics of layout and cross-browser compatibility, CSS takes time to learn and can be frustrating.
CSS grids like the 960 Grid System came along offering the advantages of CSS with fewer layout hassles. Using a grid for layout is nothing new--graphic designers have been using the grid concept for print layout for years. (See: http://en.wikipedia.org/wiki/Grid_(page_layout) )