I think, when designing a website, the designer, in addition to many aspects of web design, must also consider how fast a page loads. For me, this always comes as one of my top priorities. With that in mind, I must consider the visitors who might just be using a slow internet connection. This is why I try to avoid images in a website layout, as much as possible. Images can sometimes load slower than the rest of the CSS-based part of the layout and that can sometimes be annoying to the visitor's side. As for me, I do not want my visitors to wait even for just a few seconds, staring at the slow-paced image loading. Therefore, I prefer CSS over images. If you're just choosing between CSS and images for menu navigation, I suggest you choose CSS. CSS now allows you to add rounded corners and shadows from boxes to texts. But beware though, because some of these features still depends on the browser. Good example for this is Internet Explorer. This browser doesn't correctly show CSS-based rounded corners yet. I hope they'll improve it soon though. But still, if you're just gonna use an image as a background to something, go for CSS.