Please don’t hard code displayed text (like headers) into core functions. This really defeats the whole idea of being able to easily customize the skin in Magento. We shouldn’t be forced to overload a core function merely to change one word that is not appropriate for our site.
For example, the “Products tagged with..” text is hard coded in the “Mage_Tag_Block_Product_Result” block (the function getHeaderText() in app/code/core/Mage/Tag/Block/Product/Result.php). We have a site that sells distance education courses and have gone to great pains to replace all references to “products” with “courses” throughout the site.
And, I don’t believe this only applies to us. The word “product” has no SEO juice, so I imagine others (who sell only books, games, DVDs, or paintings for example) might also wish to replace most references to that term from their site, and most especially from headers. In many cases, it is used more as an industry term than a marketing term.
But, the real reason this should be avoided is that it is sloppy coding that completely breaks from the model that has been set up for “easy” Magento customization.
EDIT: I must have been brain dead earlier this morning. I just realized that I don’t need to call getHeaderText() in the template file, I can just build the header there myself. But, I still don’t like hard coded text strings in functions.