Originally, web designers were forced to use tables for anything beyond the most basic layout.
CSS has changed that: as browser support for CSS became ubiquitous, pages could be laid out with standard CSS to look the same across browsers. With more features and finer control, CSS now allows us to craft complex page layouts, even to the point of styling differently for different devices.
So the challenge is more deciding what you want to do rather than what you can do. Let's take a look at some of the decision points and some common page layouts.