One of my colleagues noticed that in Sitecore 6 there is a difference between the XSLT functions sc:fld (used since Sitecore 4) and sc:field (new in Sitecore 6). Alexey Rusakov explains about this in detail on his blog.
The difference is that sc:fld does not call the RenderField pipeline when executed. The RenderField pipeline can be used to modify the contents of the field when rendered. For example if you wish to have all external links to open in a new window (as in Alexey’s example) you can create your own function and add it to the RenderField pipeline.
<!-- the title attribute of the a tag is not affected by the RenderField pipeline -->
<a href="{sc:path(.)}" title="{sc:fld('NavigationTitle',.)}">
<sc:text field=”NavigationTitle” />
</a>
<!-- Here the title attribute is affected by the RenderField pipeline -->
<a href="{sc:path(.)}" title="{sc:field('NavigationTitle',.)}">
<sc:text field=”NavigationTitle” />
</a>
All other XSLT extensions (sc:text, sc:image, sc:date, …) is affected by the RenderField pipeline.