Which do you feel is better, and why? I understand that there really is a time and a place for both, but I am curious on how you decide when it's best to keep a button or image out of CSS?
Images can accomplish the same thing as CSS buttons, but CSS is a little harder to work with because of gradients. I own photoshop (thanks to my school) and know how to use it so that makes it easier, too. I guess it really does depend on what is available to you.
Definitely CSS is better and it is the modern way... With CSS3 there are amazing things that can be achieved... Moreover using css button can few http requests than use image for each button(even seperate image for a hover state).... And well the requests issue can be managed with image sprites but still sprites are difficult to manage and edit....
Yes indeed now a days CSS is doing wonders with few lines of code with size 99% less than the background images.I am in favor of CSS (button or other things) now because they save so many resources specially if you are running big sites.
But in some cases use of image can just not be avoid and in those situations images are their to get the job done.
I would say no.
Nowadays people want to use as few images as possible, and usually the images used are UI icons on a spritesheet. The common factor? Speed. People want pages to load instantly, and images won't do the trick.
CSS buttons are the way to go, and if you want to read more about gradients and all kinds of awesome CSS stuff check out http://www.css3.info/