When ODS was first introduced, STYLE templates used only 2 primary statements: the STYLE statement and the REPLACE statement. This occurred because template level inheritance and style element inheritance worked slightly differently when you used a STYLE statement from when you used a REPLACE statement.
In SAS 9.2, the REPLACE statement is no longer a valid statement for use with STYLE templates. In SAS 9.2, a STYLE template can use either a STYLE statement or a CLASS statement.
Programmers who used the REPLACE statement in earlier versions of SAS should find that the REPLACE statement acts just like a STYLE statement, for most situations.
In earlier versions of SAS, you needed to know more about inheritance when you wrote or modified a STYLE template. In SAS 9.2, you only need to know the name of the style element you want to change, because the inheritance model for style elements is contained in an implicit parent template, BASE.TEMPLATE.STYLE, which lives in the SASHELP.TMPLMST item store.
The first things you need to figure out are: What version of SAS are you using (9.1.3 or SAS 9.2)? Are you also using SAS Enterprise Guide? (SAS Enterprise Guide has a built-in style editor that creates CSS files which are (sort of) the equivalent of a SAS style template.) In SAS 9.1.3, you could use the EG generated CSS files with ODS HTML. In SAS 9.2, if you did not want to work with STYLE templates, you could design a CSS file with EG and then use the CSS file with ODS HTML, RTF and PDF via the CSSSTYLE= option.
Right now, most people change STYLE and TABLE templates. Rarely do you need to modify or create your own TAGSET template -- unless you are generating custom XML from SAS using either ODS or the SAS XML Libname engine. GRAPH templates were experimental in SAS 9.1.3 and are production in SAS 9.2 -- if you are interested in GRAPH templates, there is a new book by Warren Kuhfeld on the topic: http://www.sas.com/apps/pubscat/bookdetails.jsp?catid=1&pc=63120
The thing about PROC TEMPLATE is that PROC TEMPLATE doesn't follow a single syntax model -- there's one form of syntax for every template type.
I find the best way to work with templates is to decide what type of template you need to change -- and then look for models or samples of changing that template type. Work with the sample program until you understand it and then start to modify the template.