Using CSS for common images like a header is the much preferred way.
Going the "old school" way, on each and every page, you'd have it in your HTML,
<img src="http://mysite.com/myheader.gif" alt="Site header" />
Then say later on, you wanted to use a different image with a different URL. You'd have to go through every page and edit that snippet of HTML to use the new image. With CSS, it'd be alot easier.
CSS:
.header_image {
background: url(http://mysite.com/header_image.jpg)
width: 750px;
height: 300px;
}
Then in your HTML for your site's pages, you could simply display the header by going:
<div class="header_image"></div>
To include a .css file in your pages, you'd need this in the <head> section:
<link rel="stylesheet" type="text/css" href="http://mysite.com/css.css" />
Using CSS for boxes / general layout is also what that guy is probably talking about also. That current RPG craze site's layout shape is made by the images being stacked together. Resize any of them and the entire layout is broken. With CSS / DIV code you could make a layout that's shaped by the CSS and then has it's images controlled by the CSS. An advantage to that is that ifyou ever want to make a new layout of your site, you'd just have to update images and the css and you could change the entire look.
PHP is great for lots of common content. Say you have a menu that stays the same for each and every page. Instead of writing it into each and every page, you can just write it once and then include it in the pages. Then if you ever wanted to update the layout you could just change that one file. I have to go to bed now ;_; but if you want me to show you examples and stuff, just ask me =o
This site has some great guides and easy to understand tutorials:
http://www.tizag.com/